多分支管道 - Jenkins - 如何一次执行一个分支?

seb*_*ili 4 jenkins jenkins-pipeline multibranch-pipeline

圣诞快乐伙计们

我有一个非常基本的问题,但我没有在那里找到:

如何一次建立一个分支?

实际上,我的多分支管道 Jenkins 进程中有两个要构建的分支。但是,当我点击运行时,如果没有更改,两者都会同时构建,这是一个问题,因为单元测试使用相同的端口。

这就是为什么我需要一次运行一个分支。

有什么办法可以做到这一点吗?

bp2*_*010 5

您无法限制使用多分支管道构建的分支。但是您可以限制一次仅运行一个步骤/阶段,即使是跨分支,也可以使用

stage("Unit Test") {
  lock("unit_test_lock") {

    //Unit tests here

  } // resource is unlocked.
}
Run Code Online (Sandbox Code Playgroud)

如果两个分支A和B同时构建,A将首先获取锁,而B将等待锁被释放。因此分支永远不会同时执行这个锁定阶段。

  • 仅供参考,默认安装的 Jenkins 没有提供此功能。您需要将插件“Lockable Resources”添加到 Jenkins。 (3认同)