2012-08-09 127 views
2

问题:如果另一个构建流正在构建过程中,是否有办法阻止构建流?詹金斯 - 如何阻止构建流?

这是我想要做的。我有两个包含多个作业的构建流。我可以阻止作业上传或下传给定的流。但是,如果其他构建流正在构建,我不能阻止构建流。

这是我的设置:

生成流1: A1 - > B1 - > C1
生成流2: A2 - > B2 - > C2

工作A1A2使用SCM插件设置,以在我们的回购中查询单独的位置。所以构建可以在任何时候触发它发现一个变化。构建流应该被独立处理,但如果其他构建了作业,则会阻止构建流。

我已经试过构建拦截插件,但问题是,如果一个或多个作业正在建设它只有块。它似乎并不关心在构建队列中等待的其他构建。

我对提供给我的资源数量有限,所以我不得不在我们的构建中翻一番。

+0

可以完成你想通过限制到一个单一的执行者? – 2012-08-09 04:38:00

+0

我试过了,但是失败了......也许我可以参数化每个构建流,然后根据我们的回购供应中的那个分支变化,作为构建的参数? ::我真的不知道:: – user1429220 2012-08-09 16:14:13

回答

2

Exclusion Plugin或许能帮到你。

你会怎样做的是建立其他的工作来管理构建火车,M1的工作将有建立的步骤,请执行以下操作:

  1. 抢信号灯
  2. 触发A1
  3. 等待C1完成
  4. 释放信号量

M2的工作将是类似

  1. 抢信号灯
  2. 触发A2
  3. 等待C2完成
  4. 释放信号量

你需要超时,但本质上是思想