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

Cri*_*omo 7 groovy jenkins 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
}
Run Code Online (Sandbox Code Playgroud)

Sun*_*vic 1

您应该能够使用该run方法来做到这一点。

stage3.run()

我不知道这是否可以安全使用。