Only one site in our roadmap.
do.pingcap.net- https://do.pingcap.net/jenkins is the backend CI worker(Jenkins).
Notices: when you develop new pipeplines or jobs, you should put them in
/stagingfolder and create a PR. When the PR merged, seed job will deploy it in staging CI server. When you tested with successful results, please create a PR with contents moved in top level folders and comment the PR with your tested job links in staging CI server.
- https://ci.pingcap.net
- https://ci2.pingcap.net
- https://cd.pingcap.net (internal access only)
/docsdocuments about CI/CD jobs, tools, etc./prow-jobsstore the top level prow jobs./jobsstore Jenkins CI job DSL files. some jobs will be called by prow jobs defined in/prow-jobs./pipelinesstore Jenkins CI pipeline scripts./librariesstore Jenkins CI shared libraries./stagingstore staging jobs and pipelines before deploying to production./staging/jobslike/jobsbut only deployed to staging env.- ......
- [Deprecated]
/jenkins/jobsstore migrated or migrating Jenkins CI job DSL files for server ci.pingcap.net, ci2.pingcap.net and cd.pingcap.net. - [Deprecated]
/jenkins/pipelinesstore Jenkins CI pipeline scripts for server ci.pingcap.net, ci2.pingcap.net and cd.pingcap.net.
using /prow-jobs/<org>/<repo>/<branch-special>-<job-type>.yaml path to store prow jobs.
- the
<branch-special>part is used to distinguish different branches.- the
lateststores prow jobs for trunk branch and feature branches. - the
release-x.ystores prow jobs for specific release branches. - if all the branches have the same prow jobs, you can ignore the
<branch-special>part.
- the
- the
<job-type>part is used to distinguish different types of jobs, there are some common types:presubmitsfor jobs running on pull requests.postsubmitsfor jobs running on pull request merges.periodicsfor jobs running on a schedule.
Also you should run the command to update the /prow-jobs/kustomization.yaml file for CI GitOps deployment:
# run in top folder of the repo:
.ci/update-prow-job-kustomization.shWe use folder structure to organize Jenkins jobs.
using /jobs/<org>/<repo>/<branch-special>/<job-type>_<job-name>.groovy structure. Examples:
-
/jobs/pingcap/tiflash/latest/merged_build.groovy -
/jobs/pingcap/tiflash/release-8.5/pull_unit_test.groovy -
the
<branch-special>part is used to distinguish different branches.- the
lateststores Jenkins jobs for trunk branch and feature branches. - the
release-x.ystores Jenkins jobs for specific release branches (like release-8.5, release-8.4, etc) - if all the branches have the same Jenkins jobs, you can ignore the
<branch-special>layer. - maybe you will can define some special branches like
release-x.y.zfor released path version branches to support customized jobs for hotfix branches.
- the
-
the
<job-type>part is used to distinguish different types of jobs, there are some common types:pullfor jobs running on pull requests, it will work with thepresubmitstype prow jobs.mergedfor jobs running on pull request merges, it will work with thepostsubmitstype prow jobs.periodicsfor jobs running on a schedule, it will work with theperiodicstype prow jobs.
-
the
<job-name>part is used to define the job name, the naming format is[a-z][a-z0-9_]*[a-z0-9]. -
the
aa_folder.groovyfile will be used to define the folder name in every folder recursively, do not change the name of the file.
- using
/pipelines/<org>/<repo>/<branch-special>/*.groovyfile to store the Jenkins pipeline script which will be used by the Jenkins job.pipelines/pingcap/tiflash/latest/merged_build.groovypipelines/pingcap/tiflash/release-8.5/pull_unit_test.groovy
- using
/pipelines/<org>/<repo>/<branch-special>/pod-*.yamlfile to store the pod template definition which will be used by the Jenkins pipeline. Examples:pipelines/pingcap/tiflash/latest/pod-pull_build.yamlpipelines/pingcap/tiflash/release-8.5/pod-merged_build.yaml
- the
<branch-special>part is used to distinguish different branches, we keep it the same as the Jenkins job definition above. - the
pod-*.yamlpart is used to distinguish different pod templates.
Please refer to docs for details.