有一个管道工作,可以使用一个标签在4个不同的节点上运行。以前我遇到的问题是他们随机尝试在同一个节点上运行,所以我安装了可锁定的recources插件并尝试了这个:
node('TEST') {
try {
notifyBuild('STARTED')
lock(env.NODE_NAME){
这通常有效,但它似乎是作业选择的Label TEST中的随机节点。例如,前两个作业执行可以选择相同的节点,因此即使有可用的空闲节点,第二个作业也必须等待。有没有办法确保在作业必须等待之前使用所有节点?
答案 0 :(得分:0)
更好的解决方案是https://github.com/jenkinsci/throttle-concurrent-builds-plugin,它也适用于管道作业。该插件在阻止资源之前不会检查资源是否可用。同样,所有资源都在作业必须等待之前被使用。