小编Par*_*thi的帖子

在 Jenkins 管道中的并行阶段设置依赖项或优先级

我正在执行并行步骤 -

stages {
    stage ('Parallel build LEVEL 1 - A,B,C ...') {
        steps{
            parallel (
                "Build A": {
                    node('Build_Server_Stack') {
                        buildAndArchive(A) // my code
                    }
                },
                "Build B" : {
                    node('Build_Server_Stack') {
                        buildAndArchive(B)
                    }
                },
                "Build C" : {
                    node('Build_Server_Stack') {
                        buildAndArchive(C)
                    }
                }
            )
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我要求在C完成后开始执行B。我可以将 B 作业从并行块中取出并添加到并行块之后来实现此目的。但在这种情况下,B 在 A 和 C 完成之前不会启动。对于长时间的 A 作业,当您有空闲的构建服务器可用时,这会影响性能。我们能否解决/改进执行计划以并行运行,但并行步骤具有“依赖性”或“优先级”。促销插件中也存在类似的机制,但需要在管道中实现。

parallel-processing jenkins jenkins-pipeline

6
推荐指数
2
解决办法
5246
查看次数