Jenkins - 如何为(a)特定工作预留执行人

时间:2017-05-25 17:09:52

标签: jenkins jenkins-plugins

我们有一台Jenkins服务器,有8个执行器和20个作业。其中15个工作大约需要2个小时才能完成,剩下的5个工作只需要15分钟。我想保留1个执行程序(或2)来运行这5个小作业,并限制其他作业在其他执行程序上运行。注意:我没有任何奴隶,只有8个执行者在Jenkins主程序上。

我是詹金斯的新手所以我只是想知道我能做到这一点吗?谢谢。

5 个答案:

答案 0 :(得分:1)

添加@StephenKing答案时,您还需要specify the label name for each job进行配置,如下图所示:

enter image description here

答案 1 :(得分:1)

据我了解,Kiddo使用8位执行者的主人。你可以做的是添加一个在主服务器上运行的新从服务器,让它称之为slave-master。即你将掌握6个执行器,其使用设置尽可能多地使用,然后slave-master,其使用仅限于短版本。因此,在您的服务器上,您将运行两个jenkins任务,一个是jenkins自己掌握,两个是slave-master。

有关如何连接从属设备的信息,请转到https://wiki.jenkins-ci.org/display/JENKINS/Distributed+builds

答案 2 :(得分:0)

在从属配置中,您可以将 Usage 模式设置为仅构建具有与此节点匹配的标签表达式的作业

然后,只有匹配给定标签的作业(例如job-group-whatever)才会在此奴隶上执行。

enter image description here

答案 3 :(得分:0)

我有点迟了但我认为限制多少并发“慢”作业可以比试图保留执行者更容易。这对于Lockable Resources插件很简单:https://wiki.jenkins.io/display/JENKINS/Lockable+Resources+Plugin

只需添加与您想要允许的慢速作业数量(6或7)一样多的资源,并为它们提供相同的标签。修改作业配置以在资源执行之前锁定资源(按标签为数量1)。如果所有资源都已锁定,则作业将等待一个资源被释放。

答案 4 :(得分:0)

我有同样的问题。我在同一个从站上安装了多个代理,并且工作正常。 节点的远程目录应该不同。

agent as a windows services