Jenkins : Config-Driven Pipeline Plugin

Plugin Information

View Config-Driven Pipeline on the plugin site for more information.

Would you like to share Jenkinsfile without copy-pasting in git (or other SCMs) but would also like to be able to have some variance in your Jenkinsfile (e.g. configuration values such as email address, different unit test scripts, etc...)?

If so, this is the main driver of this plugin. We desired a central git-driven repository of trusted Jenkinsfile templates which are inherently visible, can be contributed to, but also allow us the ability to centrally roll out updates and improvements to hundreds of pipelines at a time.

This plugin will select a Jenkinsfile based on config in the repository. What this means is that you can configure a whole GitHub Organization to use a Jenkinsfile repository and different repos can run different Jenkinsfiles in the central Jenkinsfile repo based on versioned configuration in the repo (no messing around with job configuration and it's all under version control). You simply point your pipeline_template to the path in the repo. This means you can switch between templates for different branches and test out new templates in PRs without having to muck around with job config.

Plugin updates, changelist, demo, examples, etc... can be found on the project README.