The obvious use cases for server clustering is the infrastructure for the staging and production environments. Here, we can deploy our application, perform a suite of acceptance testing, and finally make a release. Nevertheless, in the context of Continuous Delivery, we may also want to improve the Jenkins infrastructure by running Jenkins agent nodes on a cluster. In this section, we will take a look at two different methods to achieve this goal;
- Dynamic slave provisioning
- Jenkins Swarm
We looked at dynamic slave provisioning in Chapter 3, Configuring Jenkins. With Kubernetes, the idea is exactly the same. When the build is started, the Jenkins master runs a container from the Jenkins slave Docker image, and the Jenkinsfile
script is executed inside the container. Kubernetes, however, makes the solution more powerful since we are not limited to a single Docker host machine and we can provide real horizontal scaling.
To use dynamic Jenkins agent provisioning...