2

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.

Mornon
  • 141
  • 1
  • 4

2 Answers2

4

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.

casey vega
  • 748
  • 7
  • 12
0

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.

alex
  • 51
  • 1
  • 1
  • 7