Jenkins 将自由式作业转换为管道作业

Jenkins 将自由式作业转换为管道作业,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,我有下面的图作业定义(通过下游),我想用并行选项将其迁移到管道 A / \ B C / \ / E D A -> B, C B -> E, D C -> D B和C可以并行运行,D需要等待B和C完成,E可以在B完成后运行 如何在管道中实现同样的功能 我试过下面的方法,但是 stage 'Stage 1' build 'A' parallel one: { build

我有下面的图作业定义(通过下游),我想用并行选项将其迁移到管道

          A
        /   \
       B    C
      / \  /
     E   D

 A -> B, C 
 B -> E, D 
 C -> D
B和C可以并行运行,D需要等待B和C完成,E可以在B完成后运行

如何在管道中实现同样的功能

我试过下面的方法,但是

stage 'Stage 1'
build 'A'

parallel one: {
    build 'B'
}, second: {
    build 'C'
}

build 'D'
build 'E'

在此配置中,E将等待C作业完成。

您应该设置执行生成的节点:例如

node {
   stage 'Build A'
   build 'A'
}

我认为这可以解决您的问题。

好吧,如果您只是将构建E与B放在并行块中,那么在构建B完成时就会发生。我认为您还可以添加wait:false以使并行步骤不等待构建。但是,如果在构建E之后需要构建其他东西,这可能是一个问题

stage 'Stage 1'
build 'A'

parallel one: {
    build 'B'
    build 'E', wait: false
}, second: {
    build 'C'
}

build 'D'

我的问题不在节点中。我不知道如何在管道中设置相同的流依赖关系。