Paul Krill
Editor at Large

Jenkins-Docker pairing gathers momentum

news analysis
Sep 4, 20153 mins

Jenkins and Docker together could be a force in continuous delivery

The Jenkins-Docker link is getting a boost from Jenkins platform vendor CloudBees.

The pairing was noted prominently during this week’s Jenkins User Conference in Silicon Valley, where Jenkins founder and CloudBees CTO Kohsuke Kawaguchi cited the symmetry. “You can maintain a very clean, homogeneous environment,” by running Jenkins with Docker, he said. If an installation features a lot of build slaves, or nodes, the same processes can be run over and over. “I know [that linking Docker and Jenkins] is something that a lot of people are interested in today.”

The company is even building a private cloud platform based on the Docker-Jenkins pairing. CloudBees Jenkins Platform Private SaaS Edition (aka Tiger) is in an alpha release stage and will provide ways to offer Jenkins as a service, said Andre Pino, CloudBees vice president of marketing. Tiger runs processes inside a Docker container. “What we’re going to see going forward is that Jenkins and Docker are going to become the standards for continuous delivery,” Pino said. Jenkins will automate the process and offer container technology to simplify deployment, he said.

There are also Docker plug-ins for Jenkins, Kawaguchi noted, including one for using Docker to run Jenkins as a Docker container. In addition, you’ll find Docker Hub Notification, integrating with the Docker Hub cloud-based registry service for application or service containers, and Docker Build and Publish plug-in, for building projects with a Dockerfile text document.

CloudBees has also forged ties between Docker and Kubernetes, which orchestrates Docker containers. The Jenkins-Kubernetes plug-in, developed by Carlos Sanchez, CloudBees senior software engineer, enables running of dynamic slaves in a Kubernetes-Docker environment. “The plug-in creates a Kubernetes Pod for each slave started, defined by the Docker image to run, and stops it after each build,” according to its GitHub description.

At Nuxeo, makers of the Nuxeo content management platform, the company leverages Docker for fast provisioning of Jenkins jobs. “In our development flow, each developer needs to be able to start his own Jenkins Job,” said Thierry Delprat, Nuxeo CTO, in an email. “The idea is that all developments are done in separated branch and the CI — Jenkins — is responsible for testing this branch and merging into master once all the tests are OK. Starting a Docker container is much faster that starting a VM: This is very useful when it comes to being able to allocate a slave for each developer when he needs it.”

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author