Jenkins 项目排序

4

你好,我有一个项目流程需要帮助。 我有多个项目开始于一个全局项目,然后还有其他一些项目,问题在于如果我同时启动多个项目的顺序。例如,我有项目a和b,并且同时启动它们。我需要发生以下情况:

  • a->global->c->d

完成后,然后

  • b->global->c->d

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

  • a
  • b
  • global
  • global
  • c
  • c
  • d
  • d

那么如何锁定整个过程,以防止项目b进入队列,直到c完成?

1个回答

5

谢谢您的建议。我已经有那些插件用于其他用途。也许我的问题没有表达清楚。当我启动A然后B时,我的队列当前有A然后B。但是A完成后,它会根据属性文件传递变量运行全局(在某些条件下,不是每次)。我需要的是B等待A完成,如果它应该运行全局,则运行全局,然后才运行B。但是如果A不运行全局,则B没问题。 - Dim
在这种情况下,您必须使用“节流并发构建插件”来防止作业A和B同时运行,因此只有当作业A完成后,作业B才会开始,这将解决您的问题。 - yorammi
我使用并发构建插件,但在这个特定问题上它没有帮助。我将尝试更清楚地阐述我的问题。A在完成时触发C。B在完成时触发C。当我运行A然后运行B时,我的队列是A->B->C->C(因为B不知道A何时完成并触发C)。我需要的是A->C->B->C。(您只能触发A和B,但不能触发C,C在A或B结束时触发) - Dim
1
使用两个新的管道或MultiJob作业替换您的作业,第一个作业(例如D)触发序列A + C,第二个作业(例如E)触发B + C,然后使用Concurrent Builds插件防止D和E同时运行。这将确保您按照需要的顺序完成作业:A->C->B->C或B->C->A->C。 - yorammi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接