<p>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.</p>

<p>Take a look at plugins like <a href="https://plugins.jenkins.io/leastload" rel="nofollow noreferrer">Least Load</a> and <a href="https://plugins.jenkins.io/scoring-load-balancer" rel="nofollow noreferrer">Scoring Load Balancer</a> to help distribute the load. CloudBees also provides an <a href="https://go.cloudbees.com/docs/plugins/even-scheduler/#even-scheduler" rel="nofollow noreferrer">Even Scheduler</a> plugin as a commercial offering.</p>

<p>Kubernetes (e.g. <a href="https://plugins.jenkins.io/kubernetes" rel="nofollow noreferrer">Kubernetes Plugin</a>) to schedule ephemeral agents could also satisfy your distribution needs.</p>

CC BY-SA 4.0
2019-07-17T01:23:50.447Z
2019-07-17T01:23:50.447Z
casey vega
<p>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. </p>

<p>You can find step-by-step guides for this. Here for example: <a href="https://www.howtoforge.com/tutorial/ubuntu-jenkins-master-slave/" rel="nofollow noreferrer">https://www.howtoforge.com/tutorial/ubuntu-jenkins-master-slave/</a> </p>

<p>Hope that answered your question.</p>

CC BY-SA 4.0
2019-02-15T11:46:20.187Z
2019-02-15T11:46:20.187Z
alex
<p>We have four test machines spread over a Jenkins.</p>

<p>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.</p>

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

<jenkins><jenkins-pipeline><jenkins-plugins><load-balance><loadbalancing>
How can I achieve better load balancing of different systems on a Jenkins?
Mornon
# How can I achieve better load balancing of different systems on a Jenkins?

(Asked by: username_0 on 2019-02-14)

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.

**Tags:** jenkins, jenkins-pipeline, jenkins-plugins, load-balance, loadbalancing


---

## 2 answers

### Answer by username_1 on 2019-07-17. Score: 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](https://plugins.jenkins.io/leastload) and [Scoring Load Balancer](https://plugins.jenkins.io/scoring-load-balancer) to help distribute the load. CloudBees also provides an [Even Scheduler](https://go.cloudbees.com/docs/plugins/even-scheduler/#even-scheduler) plugin as a commercial offering.

Kubernetes (e.g. [Kubernetes Plugin](https://plugins.jenkins.io/kubernetes)) to schedule ephemeral agents could also satisfy your distribution needs.


---

### Answer by username_2 on 2019-02-15. Score: 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.


---

