ποΈ 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.