Jenkins All-In With Docker Containers to Enhance DevOps Workflow

CloudBees is leading the Docker integration effort with plug-ins that enable the use of containers as part of a Jenkins continuous integration workflow.

In the world of DevOps, continuous integration (CI) is a core piece of workflow that enables a highly Agile development process. Few, if any, technologies are as widely used or deployed in CI as the open-source Jenkins server.

In a move that will further enhance the DevOps workflow, CloudBees, the lead commercial sponsor behind Jenkins, is spearheading the Docker integration effort with plug-ins that enable the use of containers as part of a Jenkins CI workflow.

"We're seeing a huge trend toward Docker and we think that a lot of developers like it as a stand-alone mechanism, but what really puts Docker in motion for DevOps is something like Jenkins," Sacha Labourey, founder and CEO of CloudBees, told eWEEK. "Together with Jenkins, Docker becomes part of a full DevOps workflow for how an application gets put into production."

The new tools include plug-ins for workflow pipelines, build and publish capabilities, traceability for containers as well as the ability to use Docker as a custom-build environment. The Docker integration with Jenkins workflow capability enables developers to build a continuous delivery pipeline. It's now possible, for example, to create a new Docker container image on demand, when the source code of an application changes or a patch is issued, Labourey said.

Part of the Jenkins integration with Docker is a notification for new images that can automatically be sent to Docker Hub Registry, which is a central repository for Docker images. All of the Docker integration is implemented in the open-source release of Jenkins and is freely available for anyone to use, Labourey said.

While Jenkins is a core component of many DevOps workflows, so too are configuration management and orchestration tools, such as Puppet and Chef. Jenkins already has great integration with Chef and Puppet, according to Labourey.

"We can have full traceability now from the final ID that comes from a Chef or Puppet deployment, and then trace it back to the first step that initiated the pipeline on the Jenkins side," Labourey said.

Although Jenkins can already be used as a deployment tool for multiple types of environments, making it work for Docker is also about understanding the full workflow.

"Docker is just another target for deployment, but the work that we needed to do is to express the app build in a way that's easy to use," Labourey said.

Jenkins was originally a split from the Hudson CI project, which was operated by Oracle. Hudson was best known as a Java-based tool for Java applications, though Labourey noted that Jenkins has expanded beyond its Java roots.

"Jenkins is implemented in Java, but it can handle Python, mobile development for iOS or whatever you want," Labourey said. "It's a very rich environment, and Jenkins is not tied just to Java."

Moving forward, there are a number of things that are yet to come to Jenkins. Labourey noted that there are many powerful tools in Jenkins, but there are more tools coming for operating Jenkins in the cloud and on-premises as well.

"We want to make sure we can operate Jenkins at scale," Labourey said.

Sean Michael Kerner is a senior editor at eWEEK and Follow him on Twitter @TechJournalist.

Sean Michael Kerner

Sean Michael Kerner

Sean Michael Kerner is an Internet consultant, strategist, and contributor to several leading IT business web sites.