如何在Jenkins流水线中启用并发构建

3

在流水线内部启用并发构建的 Jenkins 属性有哪些?我的流水线使用 properties([disableConcurrentBuilds()]) 禁用了一个节点上的并发构建,我希望在另一个节点上运行时重新启用它。

我尝试过 properties([enableConcurrentBuilds()])properties([concurrentBuild()]) 但两个选项都无效。

4个回答

1

并行构建默认已启用,但如果您在管道中使用disableConcurrentBuild,则会禁用它。您可以只使用空属性块:

properties([])

然后并发构建将被重新启用。


好主意,但不起作用。工作仍然不允许并发构建。 - AndresVia

1

虽然并发构建默认启用,但在流水线执行期间,禁用/启用并发性将更加灵活。

例如,如果某些特定阶段不允许并发,但所有剩余阶段都可以。


如果这个选项(disableConcurrentBuilds())是共享库的默认部分,并且需要为一个项目启用,怎么办?有可能,共享库是公共的或由不同的团队管理,这些团队可能不允许开发人员修改共享库中的默认值。 - pl_rock

0

1

pipeline {
    agent none

    stages {
        stage('sleep') {
            agent any
            options {
                throttle(['test_4'])
            }
            steps {
                sh "sleep 500"
                echo "Done"
            }
        }
    }
}

这不是默认启用的。没有办法启用吗?我还尝试修改由Pipeline创建的默认工作区,但对于多分支管道也无法正常工作。 - Raghuvir Singh

0

并发构建默认启用。这就是为什么有disableConcurrentBuilds()函数的原因。所以,您无需向管道中添加任何其他代码即可启用并发构建。


如果这个选项(disableConcurrentBuilds())是共享库的默认部分,并且需要为一个项目启用,怎么办?有可能,共享库是公共的或由不同的团队管理,这些团队可能不允许开发人员修改共享库中的默认值。 - pl_rock

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接