触发阶段在先前的并行步骤之一成功完成后运行

时间:2017-05-17 10:59:18

标签: jenkins groovy jenkins-pipeline

正如标题所说,我试图找出是否可以在舞台开始时设置触发器 - 开始运行前一阶段的一个& #39;并行步骤已经完成。

示例:

阶段:1)准备* - 2)构建* - 3.1)小测试集* || 3.2)大型测试集 - 4)部署*

标有*的阶段是强制性的。我不需要等待步骤3.2完成才能开始执行第4步。

所以问题是,一旦步骤3.1完成,有没有办法触发步骤4(无论步骤3.2是否正在运行)?

感谢。

1 个答案:

答案 0 :(得分:1)

所以,假设我已经正确地阅读了这个......

步骤3.1和3.2目前并行运行,然后你想在3.1结束后但在3.2结束之前开始第4步?

我的直觉是你应该有一个带有两个条目的平行地图。

条目#1:它自己的步骤3.2

条目#2:步骤3.1,然后是步骤4

这将是你工作的结束,步骤4将与步骤3.1一起生活在并行逻辑中。

或者,您可以在3.1完成后设置另一个部署并在并行步骤内触发的作业,但这对我来说似乎过于复杂。

编辑:这里是并行映射在代码中的外观,假设您没有使用声明性管道语法

parallel (
  Entry1: { node {
    <Step 3.2 code>
 }},
  Entry2: { node {
    <Step 3.1 code>
    <Step 4 code>
 }}