version-control - Jenkins - 如何阻止构建流?

标签 version-control build jenkins

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

这就是我正在尝试做的事情。我有两个包含多个作业的构建流。我可以阻止给定流的上游或下游作业。但是,如果另一个构建流正在构建,我无法阻止该构建流。

这是我的设置:

构建流 1: A1 -> B1 -> C1
构建流 2: A2 -> B2 -> C2

作业A1A2是使用SCM插件设置的,以轮询我们存储库中的不同位置。因此,可以在发现更改的任何时候触发构建。构建流应独立处理,但如果其他流正在构建作业,则应阻止构建流。

我已经尝试过构建阻止程序插件,但问题是它阻止当前正在构建的一个或多个作业。它似乎并不关心构建队列中等待的其他构建。

我所获得的资源数量有限,因此我必须加倍构建。

最佳答案

Exclusion Plugin也许可以帮到你。

您要做的是设置另外两个作业来管理构建序列,M1 作业将具有执行以下操作的构建步骤:

  1. 获取信号量
  2. 触发器A1
  3. 等待 C1 完成
  4. 释放信号量

M2 工作将类似

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

你需要超时,但这本质上就是这个想法

关于version-control - Jenkins - 如何阻止构建流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11876718/

相关文章:

linux - 如何在 jenkins exec 命令中使用 sudo 命令

git - 在 TFS 上回滚 GIT

Git:当我没有修改它们时,差异中会出现大量空白行

c++ - 在发布版本中读取文件时,Debug断言失败

c++ - Winsock编程

java - 在 Jenkins CI 中测试期间在 tomcat 中运行 Web 应用程序

Jenkins管道: How to dump errors?

mysql - 在源代码管理中存储 MySQL 数据库的最佳方式是什么?

linux - 有没有办法让 Nautilus 使用 VCS 的移动命令在版本控制下移动文件?

java - 如何知道 Intellij 使用的是哪个构建工具?