是否可以将Multibranch管道限制为一次只构建一个分支?
我有一个管道,其中包含检查,构建,测试和部署的步骤。部署阶段会在特定计算机上执行某些复制/执行文件,这些文件无法与其他分支作业并行完成。
我试过了:
properties([disableConcurrentBuilds()])
但这只会在分支的基础上限制并发性,因此仍然可以并行运行多个分支。
此外,在常规的非管道Jenkins作业中,有一个选项复选框:
"必要时执行并发构建"
但是在multibranch配置中也没有这个功能。
是否有其他配置可以实现这一目标,还是设计出来?
答案 0 :(得分:3)
在上述情况下,我会使用lockable resources。
您可以并行执行所有分支。但是,在任何给定的时间点,只有一个分支将执行锁定步骤。
stage("locked stage") {
lock("deploy") {
//deploy steps/copy files here
} // resource is unlocked.
}