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