将自由式作业转换为管道

时间:2016-07-25 19:15:52

标签: 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 'B'
}, second: {
    build 'C'
}

build 'D'
build 'E'

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

2 个答案:

答案 0 :(得分:1)

好吧,如果你只是将构建E放在带有B的并行块中,那么当构建B完成时就会发生。我想你也可以添加wait:false让并行步骤不等待构建。如果你需要在构建E之后构建其他东西,这可能是一个问题。

stage 'Stage 1'
build 'A'

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

build 'D'

答案 1 :(得分:0)

您应该设置应该构建构建的节点:例如

Submit-AzureRmDataLakeAnalyticsJob -Account "****" -Name "SecondJob" -Script $usqlScript

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