We have four test machines spread over a Jenkins.

We would like to have a better distribution. Example: If machine one is running with a test job, the second job should detect that node one is running and directly take the next free instance to start another job there.

I have not found a suitable plugin, instructions on this topic, which represents exactly this sufficient.


The default behavior of Jenkins is to use the same node over and over unless it's unavailable. If you use labels you can target resources.

Take a look at plugins like Least Load and Scoring Load Balancer to help distribute the load. CloudBees also provides an Even Scheduler plugin as a commercial offering.

Kubernetes (e.g. Kubernetes Plugin) to schedule ephemeral agents could also satisfy your distribution needs.


I am not sure if I understand your question completely. But I think what you want is a Jenkins Master-Slave setup. Meaning that you have one Jenkins master - taking jobs, schedule them, can also execute jobs itself - and some slaves who will do the workload.

You can find step-by-step guides for this. Here for example: https://www.howtoforge.com/tutorial/ubuntu-jenkins-master-slave/

Hope that answered your question.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.