hudson - 如何防止两个Jenkins项目/构建同时运行?

标签 hudson jenkins

我有两个共享数据库的Jenkins项目。它们不能同时运行。严格来说,除了非并发之外,它们之间没有特殊的依赖关系,但是目前,我通过运行另一个的“下游”来部分管理此约束。这在大多数时间都有效,但并非总是如此。如果在第二个运行时发生源代码管理更改,则第一个将再次启动,并且它们将同时运行,并且很可能都失败了。

这与How to prevent certain Jenkins jobs from running simultaneously?类似但不相同。不同之处在于我没有“线程数”问题-我已经在任何时候都只在任何给定项目中最多运行一个线程,即使在两个(不同项目)构建彼此sto脚的情况。这似乎排除了该线程中的所有建议。

最佳答案

Locks and Latches plugin应该可以解决您的问题。创建一个锁,并使两个作业使用相同的锁。这将阻止作业同时运行。

  • 在“管理Jenkins:管理插件”中安装插件。
  • 在“管理 Jenkins :配置系统”中定义(提供名称)锁。
  • 对于您要参与排除的每个工作,

    在“:配置:构建环境”中的
  • 中,选中“锁定”,在
  • ,然后从下拉列表中选择您的锁名。
  • 关于hudson - 如何防止两个Jenkins项目/构建同时运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10115759/

    相关文章:

    email - 在电子邮件中发送解析的控制台输出

    xml - Hudson XML 错误——没有名为 dom.minidom 的模块

    java - 使用 Jenkins 启动浏览器

    jenkins - 如何将变量传递给 JenkinsFiles 中的凭证参数?

    shell - Jenkins 2.18 withCredentials 无法在管道中工作(凭证绑定(bind)插件)

    git - 将 Jenkins 与 git 集成

    git - 如何使用 git-flow 分支模型从发布/修补程序分支设置 hudson(或 jenkins)构建?

    hudson - 如何处理 Jenkins 对核心和插件的大量更新?

    Java EE 在 Hudson/Jenkins 中提供依赖项

    asp.net - 使用 MSBUILD 和/或 MSDEPLOY (.NET 3.5) 从命令行进行部署