Continuous Delivery With Jenkins: Part 4
The Pipeline engine embeds Jenkins even more deeply into the continuous delivery domain.
Join the DZone community and get the full member experience.Join For Free
This is the last part of a new series of blog posts about Continuous Delivery with Jenkins and the new Pipeline feature.
Over the last 10 years, continuous integration brought tangible improvements to the software delivery lifecycle—improvements that enabled adoption of agile delivery practices. The software industry is now progressing to the next maturity phase with continuous delivery.
With its flexible plugin architecture and 1,000+ plugins, Jenkins is like the person who knows everyone and can work with everyone. Enterprises can utilize any existing tools—whether developed in-house or licensed from a commercial vendor—or bring in a new tool and know that Jenkins will work with it. Moreso, Jenkins is loved by development and operations teams alike. Jenkins bridges both sides of the development/operations divide, bringing both teams together and enabling collaboration between them.
The Pipeline engine contributed by CloudBees engineers who are experts in open source Jenkins, embeds Jenkins even more deeply into the continuous delivery domain. Development and operations teams can express complex delivery pipelines that talk to a myriad of toolsets, survive infrastructure failures and deliver better software, more quickly!
Sample Workflow Script
At a session given by Jesse Glick during the Jenkins User Conference 2014/Boston (see Resources section, later in this post) a walk through the codebase was included. The Docker image (also in the Resources section) has a running example of the script.
Older Approach: Deliver Pipelines Using Various Plugins
In the last few years, there have been numerous plugins in the Jenkins ecosystem that let you define and visualize pipelines. Some of the more popular ones are:
- Jenkow, Build Flow and Job DSL plugins, to define pipelines
- Build Pipeline plugin to visualize pipelines
The primary issue was the term “pipeline” wasn’t a native construct, so users ended up with multiple jobs and multiple plugins. We urge you to consult Kohsuke Kawaguchi and Andrew Phillips’ definitive article1 that walks through a number of the choices available to you when defining pipelines with this approach.
Comparison of Workflow to Other Jenkins Plugins
1 Orchestrating your delivery pipelines with Jenkins http://www.infoq.com/articles/orch-pipelines-jenkins
Published at DZone with permission of Hannah Inman, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.