我正在执行并行步骤 -
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 作业,当您有空闲的构建服务器可用时,这会影响性能。我们能否解决/改进执行计划以并行运行,但并行步骤具有“依赖性”或“优先级”。促销插件中也存在类似的机制,但需要在管道中实现。