Jenkins 成功完成之前的一个并行步骤后,触发阶段运行

Jenkins 成功完成之前的一个并行步骤后,触发阶段运行,jenkins,groovy,jenkins-pipeline,Jenkins,Groovy,Jenkins Pipeline,正如标题所说,我正在试图发现是否有可能在一个阶段的开始有一个触发器——一旦前一个阶段的并行步骤之一完成,就开始运行 例如: 阶段:1准备*-2构建*-3.1小测试集*| | 3.2大测试集-4部署* 标有*的阶段是强制性的。我不需要等待步骤3.2完成,就可以开始运行步骤4 所以问题是,不管步骤3.2是否正在运行,一旦步骤3.1完成,是否有任何方法触发步骤4 谢谢。所以,假设我读对了 步骤3.1和3.2当前并行运行,然后您想在3.1完成后但在3.2完成之前开始步骤4 我的直觉是你应该有一个有两个条

正如标题所说,我正在试图发现是否有可能在一个阶段的开始有一个触发器——一旦前一个阶段的并行步骤之一完成,就开始运行

例如:

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

标有*的阶段是强制性的。我不需要等待步骤3.2完成,就可以开始运行步骤4

所以问题是,不管步骤3.2是否正在运行,一旦步骤3.1完成,是否有任何方法触发步骤4


谢谢。

所以,假设我读对了

步骤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>
 }}

是的,那就是我最后做的。我为第3.2步编写了另一个单独的作业。但是,有两个条目的并行映射在代码中是如何工作的呢?将其编辑到了答案中。嗯,我使用了类似的东西,它类似于stages>stage>Parallel,但我没有使用啊,是的,在这种情况下,您可能使用了声明性语法。你不必有节点,可以随意放弃。我放弃这个想法的原因是我需要第4步作为一个单独的阶段,但是有两个单独的作业就可以了。