Coordinator is a Jenkins plugin to let the user create master job to include other ordinary jobs as build steps.
Build steps(job dependencies) could be categorized into serial/parallel
patterns.
And we believe these two patterns should cover almost every generic scenario along with breaking/non-breaking
options.
Jenkins has various ways to configure jobs execution order, such as built-in trigger Build after other projects are built, post-build action Build other projects and plenty of plugins. However, if you want to leverage Jenkins not only as a CI tool, but a sophisticated deployment platform, you will still miss the fine-grained build steps control seen in other product such as BuildForge.
- Divide the whole deployment process into several parts by its nature, create separate jobs respectively, such as Maven build and packaging, transfer via SSH, database script run, static content update, some Redis commands;
- Create a new job of type Coordinator Project. ,include those jobs defined in step 1, specify the execution order, group some of them under same tree node to parallel run;
- Trigger the master job, select which steps to run and start. Then you can monitor the over status within the single page.
Detail configuration walk through: http://www.tothenew.com/blog/jenkins-coordinator-plugin/
http://jenkins.unendedquest.com/view/Coordinators/
Serial/Parallel: Direct children of this kind of node will be executed sequentially/concurrently.
Breaking/Non-Breaking: Any failure on direct children of this kind of node will break/not break the whole build.
The UI configuration as below
UI | Serial | Parallel |
---|---|---|
Breaking(default) | ||
Non-Breaking |
MIT