This plugin renders upstream and downstream connected jobs that typically form a build pipeline. In addition, it offers the ability to define manual triggers for jobs that require intervention prior to execution, e.g. an approval process outside of Jenkins.
Lets make this better together! Build Pipeline Plugin - How to Contribute
Have a look at what is coming up and contribute your suggestions - Build Pipeline Plugin - Roadmap
Please raise issues @ http://code.google.com/p/build-pipeline-plugin/issues/list
Source code @ https://build-pipeline-plugin.googlecode.com/hg/
Continuous Integration has become a widely adopted practice in modern software development. Jenkins & Hudson are great tools for supporting Continuous Integration.
Taking it to the next level: Continuous integration can become the centerpiece of your deployment pipeline, orchestrating the promotion of a version of software through quality gates and into production. By extending the concepts of CI you can create a chain of jobs each one subjecting your build to quality assurance steps. These QA steps may be a combination of manual and automated steps. Once a build has passed all these, it can be automatically deployed into production.
In order to better support this process, we have developed the Build Pipeline Plugin. This gives the ability to form a chain of jobs based on their upstream\downstream dependencies. Downstream jobs may, as per the default behaviours, be triggered automatically ,or by a suitable authorised user manually triggering it.
You can also see a history of pipelines in a view, the current status and where each version got to in the chain based on it's revision number in VCS.
We'd love to hear about your experience using it or any enhancement suggestions - please let us know:
- Email: firstname.lastname@example.org (mailto: email@example.com)
Widget Connector url http://twitter.com/CentrumSystems
The Pipeline View
- Install the plugin using the Hudson\Jenkins Plugin Manager and restart.
- Create a view of the new type Build Pipeline View.
You will then be redirected directly to the configuration page.
- The table below outlines what each interesting parameter controls:
The name of the Build Pipeline View
This message will be displayed on the view page. Useful for describing what this view is about, or linking to relevant resources. Can contain HTML tags.
Build Pipeline View Title
Gives a title to the page that displays the view
Select Initial Job
This is the first job in the build pipeline. It will traverse through the downstream jobs to build up the entire build pipeline.
Select from a drop-down list of jobs.
No of Displayed Builds
The number of historical builds to be displayed on a page.
Restrict Trigger to the Most Recent Build
Where applicable, restricts the appearance of a Trigger button to only the most recent build pipeline.
Yes: Only the latest build pipeline will have a manual trigger button.
No: All builds displayed on the view will have a manual trigger button.
Always allow manual trigger on pipeline steps
Select this option if you want to manually execute or re-execute any step of the pipeline at any time.
Show pipeline parameters
Select this option if you want to display the parameters used to run the first job in the pipeline.
- Navigate to the Job configuration page.
- Scroll down to the Post-build Actions section.
- For an Automated downstream build step;
To add a build step that will trigger automatically upon the successful completion of the previous one:
- Select the Build other projects check-box
- Enter the name(s) of the downstream projects in the Projects to build field. (n.b. Multiple projects can be specified by using comma, like "abc, def".)
- For a Manually Triggered downstream build step:
To add a build step that will wait for a manual trigger:
- Select the Build Pipeline Plugin -> Manually Execute Downstream Project check-box
- Enter the name(s) of the downstream projects in the Downstream Project Names field. (n.b. Multiple projects can be specified by using comma, like "abc, def".)
- For an Automated downstream build step;
- Click Save
The Build Pipeline Plugin handles the creation of multiple automatic and/or manually triggered downstream build steps on the same project.
Upgrading from Release 1.0.0
When upgrading from 1.0.0 to 1.1.x some of the previous view and job configuration fields have been removed. You may notice some errors of the following errors appearing in the Hudson/Jenkins log.
WARNING: Skipping a non-existent field downstreamProjectName com.thoughtworks.xstream.converters.reflection.NonExistentFieldException: No such field au.com.centrumsystems.hudson.plugin.buildpipeline.trigger.BuildPipelineTrigger.downstreamProjectName
This is because the configuration files refer to old fields that may no longer exist.
In order to correct these issues go to the Job configuration page, confirm that all of the details are correct and click on the Save button.
This is hosted on Google Code so that we can support both Jenkins and Hudson.
Please use Google Code rather than this page to ask questions, report bugs and request features.
More on Pipelines
The canonical reference for pipelines is the book Continuous Delivery.
Chapter 5 of the book, which describes how deployment pipelines work, is available for free here.
Are you facing these challenges as you try to meet your delivery commitments?
- It takes a long time for projects or new development resources to become productive.
- Inability to scale resources or development partners to meet business demands.
- Inconsistent quality of software deliverables across project teams or suppliers.
- Error prone manual build processes which are difficult to scale
- Inconsistent application of tools and processes resulting in key resource dependencies.
- Dependency on hero factor in software deployments – asking too much of individuals to successfully implement software.
- Uncertainty around the impact of change
- Lack of visibility of the quality or status of change until late in the delivery lifecycle.
- Spiralling costs of change due to ever increasing technical debt
Centrum Systems have developed an offering we call Software Delivery Mastery (SDM). We can help in the following areas:
- Software build process
- Continuous integration
- Deployment automation
- Automated inspection and testing
- Environment provisioning and configuration management
- Project inception / developer on-boarding.
For information about how we can help you please contact us or visit http://www.centrumsystems.com.au