如何在 Jenkins 脚本化管道中创建并行阶段?

use*_*259 5 groovy continuous-integration continuous-deployment jenkins-groovy jenkins-pipeline

我正在尝试在我的 Jenkins 管道代码中实现并行化,我可以在其中并行运行两个阶段。我知道这在声明性管道中是可能的,但我使用的是脚本化管道。

我试图通过做这样的事情来实现这一点:

parallel(
    stage('StageA') {
        echo "This is branch a"
    },
    stage('StageB') {
        echo "This is branch b"
    }
  )
Run Code Online (Sandbox Code Playgroud)

当我运行它并在 Blue Ocean 中查看它时,阶段不会并行运行,而是在 StageA 之后执行 StageB。在脚本化的 jenkins 管道中是否可以有并行阶段?如果是这样,如何?

Unf*_*631 9

尝试使用脚本化管道的语法:

            parallel(
                    "StageA": {
                        echo "This is branch a"
                    },
                    "StageB": {
                        echo "This is branch b"
                    }
            )
Run Code Online (Sandbox Code Playgroud)

在《蓝海》中应该是这样的,这就是你所期望的吧?

平行蓝海

如果您想在经典视图中查看阶段(和控制台输出),您可以像这样使用阶段:

 parallel(
                        "StageA": {
                            stage("stage A") {
                                echo "This is branch a"
                            }
                        },
                        "StageB": {
                            stage("stage B") {
                                echo "This is branch b"
                            }
                        }
                )
Run Code Online (Sandbox Code Playgroud)