多分支 Jenkins 管道 - 将要构建的分支限制为 1
Multibranch Jenkins Pipeline - Limit branches to build to 1
是否可以限制多分支管道一次只能构建一个分支?
我有一个包含检出、构建、测试和部署步骤的管道。部署阶段在特定机器上执行一些 copying/executing 无法与其他分支作业并行完成的文件。
我试过:
properties([disableConcurrentBuilds()])
但这只是在分支基础上限制并发,所以多个分支仍然会运行并行。
此外,在常规的非管道 Jenkins 作业中,有一个选项复选框:
"Execute concurrent builds if necessary"
但这在多分支配置中也不可用。
是否有一些其他配置可以实现此目的,还是设计使然?
在上述情况下我会使用lockable resources。
您可以执行parallel.However中的所有分支,在任何给定时间点只有一个分支会执行锁定步骤。
stage("locked stage") {
lock("deploy") {
//deploy steps/copy files here
} // resource is unlocked.
}
是否可以限制多分支管道一次只能构建一个分支?
我有一个包含检出、构建、测试和部署步骤的管道。部署阶段在特定机器上执行一些 copying/executing 无法与其他分支作业并行完成的文件。
我试过:
properties([disableConcurrentBuilds()])
但这只是在分支基础上限制并发,所以多个分支仍然会运行并行。
此外,在常规的非管道 Jenkins 作业中,有一个选项复选框:
"Execute concurrent builds if necessary"
但这在多分支配置中也不可用。
是否有一些其他配置可以实现此目的,还是设计使然?
在上述情况下我会使用lockable resources。
您可以执行parallel.However中的所有分支,在任何给定时间点只有一个分支会执行锁定步骤。
stage("locked stage") {
lock("deploy") {
//deploy steps/copy files here
} // resource is unlocked.
}