ci
ci copied to clipboard
Refactor and optimize the CI pipelines for docs&docs-cn
Enhancement
The current pipelines has some issues, which have brought a significant burden to the maintenance and updates of the pipelines.
- When checking out the code, if the cache is not used properly, it will result in excessive use of dedicated bandwidth.
- There are upstream and downstream calls in the pipeline, multiple jumps are required to view the details of the failure.
The plan is to restructure CI Pipelines through intentional redesign, making the structure of the pipelins simpler and its execution more stable.
- Refactor the script-based Jenkins Groovy to declarative Groovy.
- Using Prow to take over the triggering of pipelines.
- Remove the multi-level invocation of the pipelines.
Which CI piplines will be affected?
- docs verifyci https://ci.pingcap.net/view/tipipeline-verify/job/docs-verify-pipeline/
- docs-cn verifyci https://ci.pingcap.net/view/tipipeline-verify/job/docs-cn-verify-pipeline/
New CI pipelines
- docs https://do.pingcap.net/jenkins/job/pingcap/job/docs/
- docs-cn https://do.pingcap.net/jenkins/job/pingcap/job/docs-cn/
After adopting the new pipeline, the following optimization effects are observed.
- The checkout code's execution time has been significantly reduced, optimized from the previous 70 seconds to 50 seconds.
- During the peak period of PR merging, support for triggering more CI simultaneously without encountering bandwidth limitations when downloading from GitHub.
Which branches' pipelines will be affected?
This optimization takes effect on all branches on repo pingcap/docs
& pingcap/docs-cn
Which behaviors will change?
-
The CI trigger command will change
/verify
-->/test pull-verify
-
CI status will change
jenkins-docs-cn/verify
-->/pull-verify
How to check my pull requst ci status on prow?
- pingcap/docs-cn https://prow.tidb.net/?repo=pingcap%2Fdocs-cn&type=presubmit
- pingcap/docs https://prow.tidb.net/?repo=pingcap%2Fdocs&type=presubmit
Any others changes I need to pay attention to?
- This refactoring optimization only targets on all branch (include master and release branch), both for repo
pingcap/docs
andpingcap/docs-cn
- The merged-ci optimization will be take in affect in the next few weeks