什么是负载平衡多主/多从属Jenkins设置的推荐方法

时间:2011-04-05 10:01:18

标签: hudson jenkins

我想设置一个N-master x M-slave Jenkins构建/执行服务器场。

我想允许多个项目运行他们自己的Jenkins主服务器,每个服务器将他们的构建分发到同一个Jenkins从属池中。

因此每个奴隶都将具有单独配置的工作空间等等。

在奴隶之间对作业进行负载均衡的推荐方法是什么? 也就是说,如果Master 1在Slave 1上开始了一项工作,并且Master 2出现了一份工作,我希望它能选择一个非奴隶的奴隶来开展这项工作。

建议的方法是什么?

1 个答案:

答案 0 :(得分:1)

有几种方法可以做到这一点。您可以创建作业以在任何打开的执行程序上运行。执行者是詹金斯的工作岗位。假设Jenkins的每个实例都有一个执行程序,如果一个主服务器在Slave1上执行某些操作,那么它将占用一个执行程序。因此,当master 2尝试运行某些东西时,它将在Slave2(或任何其他可用的执行程序)上运行它,因为Slave1正忙。

这取决于两件事:

  1. 所有作业都可以在任何可用的机器/执行器上运行
  2. 每个Jenkins都有一个执行者。
  3. Jenkins确实尽可能地管理负载,但我建议为机器上的每个核心都配备一个执行程序,这样你的机器就不会被甩掉,让Jenkins处理它们实际运行的地方。您甚至可以将作业绑定到特定的计算机上。

    祝你好运。