如何防止从两个不同的上游作业触发的两个下游作业的并行执行
How to prevent parallel execution of two downstream jobs triggered from two different upstream jobs
我的作业 A 触发了两个下游作业,例如作业 B 和作业 C。这两个下游作业在主节点上并行执行。作业 B 然后在从节点上触发另一个作业,比如作业 1,作业 C 几乎同时在同一个从节点上触发作业 2。在此从节点上配置的执行程序数为 1,因为我不希望作业 1 和作业 2 同时 运行。作业 2 排队,因为作业 1 已经 运行ning 在该从节点上。但是当作业 1 完成执行时,作业 2 运行 进入执行程序饥饿状态并卡住。
问题:- 作业 2 运行进入执行程序饥饿状态并卡住。
有什么方法可以让作业 1 完成执行后,作业 2 开始 运行ning 而不是获取堆栈。我也尝试过 Throttle concurrent builds 插件,但问题仍然存在。
提前致谢!
有几个允许资源管理的插件:
https://wiki.jenkins-ci.org/display/JENKINS/Lockable+Resources+Plugin
https://wiki.jenkins-ci.org/display/JENKINS/Exclusion-Plugin
https://wiki.jenkins-ci.org/display/JENKINS/External+Resource+Dispatcher
有些会阻止作业执行,有些会阻止作业 "wait" 资源(而作业是 运行)。
您必须将 Job1 和 Job2 设置为使用一些资源,以便它们可以相互等待。
我的作业 A 触发了两个下游作业,例如作业 B 和作业 C。这两个下游作业在主节点上并行执行。作业 B 然后在从节点上触发另一个作业,比如作业 1,作业 C 几乎同时在同一个从节点上触发作业 2。在此从节点上配置的执行程序数为 1,因为我不希望作业 1 和作业 2 同时 运行。作业 2 排队,因为作业 1 已经 运行ning 在该从节点上。但是当作业 1 完成执行时,作业 2 运行 进入执行程序饥饿状态并卡住。
问题:- 作业 2 运行进入执行程序饥饿状态并卡住。
有什么方法可以让作业 1 完成执行后,作业 2 开始 运行ning 而不是获取堆栈。我也尝试过 Throttle concurrent builds 插件,但问题仍然存在。
提前致谢!
有几个允许资源管理的插件:
https://wiki.jenkins-ci.org/display/JENKINS/Lockable+Resources+Plugin
https://wiki.jenkins-ci.org/display/JENKINS/Exclusion-Plugin
https://wiki.jenkins-ci.org/display/JENKINS/External+Resource+Dispatcher
有些会阻止作业执行,有些会阻止作业 "wait" 资源(而作业是 运行)。
您必须将 Job1 和 Job2 设置为使用一些资源,以便它们可以相互等待。