In a move designed to integrate containers into the continuous-delivery process, the Jenkins community and Jenkins firm CloudBees have today unveiled six plugins for the popular Docker platform.
The open-source plugins for the Jenkins Java-based continuous-integration tool should enable developers and DevOps teams to take advantage of lightweight Docker containers as part of their work managing application lifecycles.
In addition to the Docker plugin itself, which uses Docker containers as standard build environments for better isolation and elasticity, the other five plugins are targeted at processes ranging from checking in code through to deployment.
They consist of Docker Workflow, Build and Publish, Docker Hub Notification, Docker Traceability, and Docker Custom Build Environment.
"If you think about Docker, it's a nice Lego block for key things. It's a great packaging mechanism and a great executable means - but by itself it doesn't do much," CloudBees CEO Sacha Labourey said.
"To make something out of it in a team, you need to make it part of a flow. You need to make sure what some developers test is going to be what's going to be staged. You need to define what's going to be a gold image that's going to be approved and pushed to production - how do you do that? That's where the wedding of Jenkins and Docker is extremely powerful."
Docker automates the creation and deployment of apps in containers - a lighter-weight form of virtualisation. The idea is to free developers from software and infrastructure dependencies, cutting costs and creating efficiencies in the process.
Labourey said the combination of Docker with components such as Jenkins Workflow make it possible to build pipelines with sophisticated logic.
"Once you can inject the power of Docker into those pipelines, it leads to extremely powerful behaviour. That's where I think the future is," he said.
CloudBees' on-premise products add enterprise functionality to Jenkins. The company is heavily involved in developing Jenkins, with CTO Kohsuke Kawaguchi the founder and community lead for the open-source project.
As well as using Docker on Jenkins in a strategic role, Jenkins can be used on Docker tactically, with Jenkins users employing Docker in their day-to-day operations to do better test staging, according to Labourey.
"As it stands today you have a number of slave machines running for test on which you have a number of executors - a kind of parallel thread where you can execute builds. You always have isolation issues between those tenants," he said.
"One build could corrupt the environment of the machine, so next time another build goes there it doesn't work. The problem is not the codebase. It's simply that the machine is in a modified state. It creates this kind of lack of confidence in developers when builds don't succeed.
"By using things like Docker you can isolate builds completely to be always clean to remove that issue. You have development teams that are not dependent on IT upstream to build and customise images. You have plenty of advantages for developers. That is Jenkins on Docker."