多分支 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.
}