📄️ Manual Build Version
This tutorial explains how to specify build version manually when run a build job
📄️ Use POM Version
This tutorial explains how to use project version in POM as build version when running a Maven build.
📄️ Conditional Build Params
This tutorial explains how to prompt for build parameters when run a job, and demonstrates how to show one parameter conditionally based on value of other parameters.
📄️ Matrix Build
This tutorial explains how to set up matrix build to run against every possible combination of parameter values.
📄️ Use Job Secrets
This tutorial explains how to use job secrets to avoid exposing secret information in your build spec file.
📄️ Pass Artifacts Between Jobs
This tutotial explains how to pass artifacts from one job to another
📄️ Clone Submodules via SSH
This tutorial explains how to clone submodules with SSH protocol in build job
📄️ Pull Tags in Job
This tutorial explains how to pull tags in job.
📄️ Commit and Push in Job
This tutorial explains how to make code changes in build job, and push committed change back to OneDev server
📄️ Job Retry
This tutorial explains how to retry job upon certain failures
📄️ Pull Request Verification
This tutorial explains how to run CI build against merged commit of a pull request via an example setup.
📄️ Build/Publish Docker Image
This tutorial explains how to build a docker image and publish to docker hub
📄️ Use Services
This tutorial explains how to set up and use services whlie running a job
📄️ Working with Job Cache
CI/CD jobs running in a container always starts with a clean environment, and can be slow as it can not reuse files downloaded/generated in previous run of the job. To solve this issue, OneDev provides the ability to cache specified container directories to make them live through different runs of jobs.
📄️ Plain Old Build
While it is the trend to run CI/CD jobs inside container for isolation and reproducibility, some builds must run outside container, such as iOS builds. To support these “plain old” builds, OneDev 4.11 introduces two shell job executors:
📄️ Build Promotion
In OneDev, you can request good/verified builds to be further processed down the pipeline. This is build promotion, which can be done from build detail page like below:
📄️ Understanding Pipeline
A pipeline is an execution of job dependency graph. It can be created by running any job in the graph, either manually or automatically via job triggers.
📄️ Build Farm with Agents
This tutorial explains how to install OneDev agents on multiple machines to get a build farm. Agent is designed to be maintenance free: the server will push updates to agents automatically when it is upgraded.
📄️ Build Farm with Kubernetes
This tutorial explains how to set up build farm with Kubernetes cluster
📄️ Auto-assign Build Failure Investigator
This tutorial explains how to create a build failure issue and assign to developer who committed code since last successful build. This issue should be auto-closed
📄️ Insecure Docker Registry
You may need to pull/push images from/to a self-hosted container registry in a CI build. In case the container registry only provides insecure access (plain http access, or https access with self-signed certificate), below docker daemon needs to be configured to disregard security for your registry:
📄️ Job Dispatch and Aggregation
This tutorial explains how to dispatch jobs to execute concurrently and aggregate results in the end.
📄️ Live Preview App in Pull Request
This tutorial explains how to set up pull request to launch live preview of your application and tear it down after pull request is closed.
📄️ Windows Build with Kubernetes
This tutorial explains how to run job on Windows node in a Kubernetes cluster.
📄️ Limit Particular Job Running from Particular Branch
This tutorial explains how to limit a particular job running from a particular branch
📄️ Protect Production Kubernetes Cluster
This tutorial explains how to prevent production Kubernetes cluster from running unauthorized jobs
📄️ Build Spec Reuse
Maintaining CI/CD configuration for many projects can be complex and challenging. To reduce the overhead, OneDev introduced mechanism to define common CI/CD building blocks in separate projects and use/customize them in other projects.