Jenkins项目订单

问题描述:

嗨,我有我需要帮助的项目流程。我有多个项目启动一个全球项目,然后是一些其他项目,如果我同时启动多个项目,问题是顺序。例如,我有项目a和b,我同时启动它们。我需要发生的事情。Jenkins项目订单

  • A->全球 - > C-> d

完成后,再

  • B->全球 - > C-> d

但什么实际发生在我的项目队列中:

  • b
  • 全球
  • 全球
  • Ç
  • Ç
  • d
  • d

所以,我怎么可以锁定整个过程并没有让项目B进入到排队直到c完成?

尝试那些2个选项(或2的混合):

  1. 使用触发工作中所需要的顺序包装工作。为此,您可以使用Jenkins pipeline (build step)作业或MultiJob或使您能够控制作业顺序和依存关系的任何插件。
  2. 通过使用Throttle Concurrent Builds Plugin阻止某些作业并行运行。
+0

谢谢你的建议。我有这些插件用于其他用途。也许我的问题还不够清楚。当我开始A然后B我的队列当前有A然后B.但是当完成它运行全局(在某些情况下,不是每次),并从属性文件传递变量。我需要的是B等待A完成,如果它应该运行Global,那么它将运行并且只有B。但是如果A不运行Global,那么B是OK的。 – Dim

+0

在这种情况下,您必须使用Throttle Concurrent Builds插件来防止作业A和B同时运行,因此只有作业A完成后,作业B才会启动,这将解决您的问题。 – yorammi

+0

我使用Concurrent Builds Plugin,但在这个特定的问题中,它没有帮助。我会尽力澄清我的问题。触发器C完成。 B在结束时触发C.当我运行A然后B时,我的队列是A-> B-> C-> C(因为B不知道A何时完成并触发C)。我需要的是A-> C-> B-> C。 (你只能触发A和B,但不能触发C和C,它会在A或B的末尾触发) – Dim