Jenkins管道执行闭包(如“并行”步骤)

时间:2017-10-02 23:48:16

标签: jenkins groovy jenkins-pipeline

我有一个非常漫长而复杂的管道,我在主要的jenkins升级后重写。

我想要的是将我的阶段声明为变量,然后在主节点体中执行它们:我可以轻松地为并行阶段执行此操作,但我希望对顺序阶段也有相同的样式。

经过大量的测试,我发现做这项工作的唯一方法是在所有单个连续阶段(丑陋)周围使用“假”并行调用,我确信有更好的解决方案,但似乎我不能找到适当的一步......对我感到羞耻。

这是我的例子:

stage1 = { stage("one") {
            println "stage one"
         } }

stage2 = { stage("two") {
            println "stage two"
         } }

stage3 = { stage("three") {
            println "stage three"
         } }

node {
    parallel (
        "one" : stage1 ,
        "two" : stage2
    )
    HERE I WANT TO CALL stage3 Closure, possibly giving a map like in the parallel above
}

1 个答案:

答案 0 :(得分:0)

您应该可以使用run方法执行此操作。

stage3.run()

我不知道这是否安全。