hin255 - Fotolia

Jenkins World 2016: Why Pipeline is so popular

While there is plenty to discuss at Jenkins World 2016, the Jenkins Pipeline plug-in is clearly the topic getting the most attention.

The Jenkins Continuous Integration platform has become a standby in organizations of all sizes that want to increase productivity and streamline software development in the era of Agile. Now that the new Jenkins plug-ins have been added and there's a new three-step wizard to walk first-time users through setup, the tooling is more user-friendly. As longtime Jenkins contributor R. Tyler Croy revealed, 2016 is the year when the CI tool has become more secure and functional out of the box, and the Jenkins World 2016 conference currently taking place in San Francisco is a celebration of that.

Pipeline becomes central to next-gen Jenkins

No Jenkins plug-in has become more synonymous with the continuous integration (CI) tool than Pipeline. It has supercharged the CI tool and helped turn it into the streamlined platform it is today. "You could do a lot with Jenkins, but it was always sort of cobbled together with building blocks that were available at the time," Croy said. "One of the things we brought front and center is Pipeline as Code. It's that support and those concepts brought center stage in the 2.0 experience." Obviously, this item is in the recommended plug-in package for all new users.

Part of the beauty of the system is it can keep growing and support a whole ecosystem of pipelines. Croy described how the CI tooling meshes with the current containerization trend. "I can check a Jenkins file containing the Pipeline definition into source control. Because of its extensibility, there are plug-ins that can extend on top of that pipeline with domain-specific languages as well," Croy said. "I can define Docker continuous delivery pipelines; so, in one place in my Docker container repository, I'll have the source code, Docker file and Jenkins file. Using the Docker Pipeline plug-in, which builds on top of the existing Pipeline support, I can build and publish my containers straight through Docker Hub from Jenkins."

This approach cuts out a lot of extraneous work. "Instead of going through a configuration stage and checking a lot of boxes, you can very concisely model and express what your delivery pipeline looks like in this Groovy-based DSL. It's all about extensibility."

For those interested in learning more about Jenkins plug-ins, and the Pipeline plug-in specifically, Jenkins World 2016 offers the following seminars and workshops:

Simplifying the Jenkins Pipeline plug-in

What we are seeing from the user base is a demand for a simpler path. Powerful interfaces are good, but a lot of people start small.
Sacha LaboureyCEO, CloudBees

Of course, as with all Jenkins plug-ins, there is room for improvement. When the Pipeline plug-in was released, it was complete and powerful, but some users found it was also complex. One of the big changes made in Jenkins 2.0 was the fact that many enhancements were provided that made installation, configuration and hopefully adoption much easier for users, but the Pipeline plug-in tended to buck that trend to a certain extent.

"With the Jenkins 2.0 release, the incorporation of Pipeline was high on the agenda. A lot of work was done there, and we ended up [with] a very powerful content delivery pipeline mechanism," said Sacha Labourey, CEO at CloudBees Inc., based in San Jose, Calif., who sees simplifying and egalitarianizing the Jenkins Pipeline plug-in as a top priority.

"What we are seeing from the user base is a demand for a simpler path. Powerful interfaces are good, but a lot of people start small with a small team," Labourey said, in recognition of the fact that Jenkins needs to be accessible to users of all expert levels. "That's an area we are always working on: making things simpler."

Next Steps

From Jenkins to Bamboo, it's a rich ecosystem for CI

The most useful Jenkins plug-ins for enterprise users

CloudBees makes a private Jenkins PaaS a reality

Dig Deeper on DevOps-driven, cloud-native app development

App Architecture
Software Quality
Cloud Computing