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

如何防止某些Jenkins作业同时运行?

锺离德运
2023-03-14
问题内容

我有几个使用共享资源(数据库)的作业,有时这会在(碰巧)同时触发作业的(罕见)事件中导致构建失败。

例如,给定作业A到E,是否有任何方法可以指定A和C 绝不能同时运行

除上述资源外,构建彼此独立(例如,不存在上游/下游关系)。

“强力”方式将执行者的数量限制为一个,但是如果大多数作业可以很好地同时执行并且在构建服务器上不缺少计算资源,那么显然这不是理想的选择。


问题答案:

当前有两种方法可以执行此操作:

  • 使用“ 节流并发构建”插件。
  • 将这些作业设置为在只有1个执行程序的从站上运行。


 类似资料:
  • 问题内容: 我有两个共享数据库的Jenkins项目。它们不能同时运行。严格来说,除了非并发之外,它们之间没有特殊的依赖关系,但是目前,我通过运行另一个的“下游”来部分管理此约束。这在大多数时间都有效,但并非总是如此。如果在第二个运行时发生源代码管理更改,则第一个将再次启动,并且它们将同时运行,并且很可能都失败了。 这与如何防止某些Jenkins作业同时运行类似但不完全相同。区别在于,我没有“线程数

  • 问题内容: 我正在尝试在从属计算机上的Jenkins工作中启动Tomcat。我通过打开slave-agent.jnlp手动启动Jenkins slave 这是我在“执行Windows批处理命令”中尝试过的操作: Tomcat开始运行构建,并且将构建标记为成功,但是随后几秒钟后Tomcat自动关闭。 问题答案: 这是 Jenkins进程树杀手 。这是设计使然。您可以通过使用额外参数启动Jenkins

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

  • 我在Jenkins的Build Executor Status面板中单击了一个作业名称旁边的[x]按钮,中止了该作业,但该作业仍然存在并等待。 即使我重新启动Jenkins它也会恢复构建。当我看一下控制台时,我看到: 向进程发送中断信号单击此处强制终止运行步骤。伊奥。IOException:正在中止sun的构建。反映国家建筑配件公司。sun的newInstance0(本机方法)。反映国家建筑配件公

  • 是否可以从Groovy脚本运行jenkins作业? 我知道这是可能的运行詹金斯的工作从管道像这样 生成作业:“测试” 这也不起作用 构建(“测试”) 错误 生成作业:“测试” 编辑后执行系统Groovy脚本并添加 我在Hudson.instance.queue这条线上出错了。计划(作业,0,causeAction,paramsAction) 构建步骤“执行系统Groovy脚本”将构建标记为失败

  • 问题内容: 我有一个php脚本,我在CentOS上每10分钟通过cron执行一次此脚本。 问题是,如果cron作业将花费10分钟以上,则将启动同一cron作业的另一个实例。 我尝试了一个技巧,那就是: cron作业启动时,使用php代码创建了一个锁定文件(类似于pid文件)。 作业完成后,使用php代码删除了锁定文件。 当任何新的cron作业开始执行脚本时,我检查了锁定文件是否存在,如果存在,则中