Scalable Build Farm
Scalable Build Farm helps spawn any required number of Jenkins Slaves and enables execution of multiple jobs in parallel.
- Install Jenkins 2.32.1 (Kube plugin requires this version of Jenkins)
- Install Kubernetes plugin
- Configure "Kube Cloud" in Manage Jenkins → configure system
Docker image : gcr.io/cloud-solutions-images/jenkins-k8s-slave
Arguments: ${computer.jnlpmac} ${computer.name}
Note: Name of Kubernetes Pod Template and Name of Container Template should be "jnlp"
Choose TCP port for JNLP agents as "Random" since slaves are spawned in Kube slaves and port will be randomly generated if many number of jobs are executed at the same time.
Sample Output:
The below screenshot shows execution of 5 jobs in parallel without being queued.
Note: Executors in the Master are unused. Jenkins slaves are spawned in Kube Slaves on-demand and the jobs are executed.