当前位置: 首页 > 面试题库 >

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

燕翼
2023-03-14
问题内容

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

这与如何防止某些Jenkins作业同时运行类似但不完全相同。区别在于,我没有“线程数”问题-
在任何时候,即使给定两个(不同项目)构建脚步,我已经只在任何给定项目中最多运行一个线程。彼此。这似乎排除了该线程中的所有建议。


问题答案:

该门锁和闩锁插件应该解决您的问题。创建一个锁,并使两个作业使用相同的锁。这将阻止作业同时运行。

  1. 在“管理Jenkins:管理插件”中安装插件。
  2. 在“管理Jenkins:配置系统”中定义(提供名称)您的锁。
  3. 对于您要参与的每个工作,
    1. 在“:配置:构建环境”中,选中“锁定”,
    2. 然后从下拉列表中选择您的锁名。


 类似资料:
  • 问题内容: 我有几个使用共享资源(数据库)的作业,有时这会在(碰巧)同时触发作业的(罕见)事件中导致构建失败。 例如,给定作业A到E,是否有任何方法可以指定A和C 绝不能同时运行 ? 除上述资源外,构建彼此独立(例如,不存在上游/下游关系)。 “强力”方式将执行者的数量限制为一个,但是如果大多数作业可以很好地同时执行并且在构建服务器上不缺少计算资源,那么显然这不是理想的选择。 问题答案: 当前有两

  • 我不想允许相同类型(相同存储库)的两个作业在同一节点上并行运行。 如何在Jenkinsfile中使用groovy做到这一点?

  • 问题内容: 我有一个Git存储库,其中包含一堆顶级Maven项目(每个项目都位于带有pom.xml的自己的子目录中)。这里的顶层意味着这些项目位于存储库根目录下的子目录中。所有这些项目应保留在相同的Git存储库中。 它们可以/应该由独立的詹金斯工作建立。因此,我们为projectA有一份工作,为projectB有一份工作。 以前使用Subversion,我能够为每个项目设置一个Jenkins作业,

  • 问题内容: 我是第一次配置Jenkins,到目前为止一直是它的用户。 我阅读了文档,了解了“ $ WORKSPACE”在 从属服务器 上的含义。 我有一个误解, 默认情况下 ,Jenkins Slave上的作业在工作区目录中每个作业的唯一目录中运行。似乎并非如此。 如何为每个作业运行分配唯一目录?作业完成后,詹金斯会自动清除此作业运行目录吗? 问题答案: 默认情况下,jenkins从运行;这里在节

  • 我在eclipse中有两个独立的项目:“project”和“pinclude” 项目包括p包括,所以没有以某种方式包括该项目的java文件在我的build.xml内,javac将始终返回错误。 我是怎么做到的。ant/javac中的类文件?我尝试过寻找解决方案,但到目前为止,我只找到了添加jar文件的方法。会创造一个装满所有“夹心”的罐子。类文件解决了我的问题?。 谢谢你的帮助。 注: 我为糟糕的

  • 我的项目结构如下: 是内的依赖项。 > 我应该在Jenkins中创建单独的作业来单独构建每个模块吗? 我为创建了一个作业,但出现以下错误(已将目标和操作设置为“清洁安装”: [INFO]扫描项目...[INFO] [INFO] ------------------------------------------------------------------------ [INFO]构建mypro