1

在 Jenkins 中,如果一个构建当前正在运行,而下一个构建处于挂起状态,那么我应该怎么做才能中止正在运行的构建,而下一个挂起的构建应该开始运行,依此类推。

我必须为几个项目做这件事,每个项目都有很少的工作,我试图将 build_number 作为环境变量保存在一个文本文件(build_number.txt)中,并使用该数字中止先前触发的构建,但制作 build_number.txt 文件每个工作看起来效率不高,然后我必须为每个项目的每个工作创建许多 build_number 文件。

谁能建议我一些更好的方法

谢谢

4

1 回答 1

0

根据评论,如果发送太多电子邮件是实际问题,您可以使用 Poll SCM 每隔 15 分钟左右轮询一次,甚至可以指定工作的安静时间。这将确保在 15 分钟内进行一次构建。用户应在提交前进行本地测试。但是,如果 Jenkins 本身用于验证提交,那么如果构建失败,我在发送电子邮件时不会发现任何错误。毕竟,他们应该知道这一点,即使他们在以后的更新中有意或无意地修复了它。

但是,如果您仍然想在有更新的情况下中止正在运行的作业,您可以尝试以下操作。让我们将要中止的作业称为作业 A

  1. 创建另一个监听更新的作业,与需要中止的作业相同
  2. 添加构建步骤以执行 groovy 脚本
  3. 在 groovy 脚本中,使用 Jenkins API 检查 JOB A 是否正在运行。如果是,请再次使用 API 中止作业。

Jenkins API 可在此处获得

于 2013-08-27T02:42:52.243 回答