请注意: 这个问题是基于旧的,现在称为“脚本化”管道格式的。使用“声明性管道”时,可以将并行块嵌套在阶段块内部(请参阅带有声明性管道1.2的并行阶段)。
我想知道Jenkins工作流/管道插件,特别是并行步骤应该如何工作。如何将它们与构建阶段混合使用。我了解一般模式:
parallel(firstTask: { // Do some stuff }, secondTask: { // Do some other stuff in parallel })
但是,我想并行运行几个阶段(在具有多个执行程序的同一节点上),因此我尝试添加以下阶段:
stage 'A' // Do some preparation stuff parallel(firstTask: { stage 'B1' // Do some stuff }, secondTask: { stage 'B2' // Do some other stuff in parallel }) stage 'C' // Finalizing stuff
这不能按预期方式工作。“执行任务”任务是并行执行的,但是并行阶段会立即结束,并且不会合并它们应包含的任务。因此,舞台视图不会显示正确的结果,也不会链接日志。
我可以并行构建不同的阶段,还是“并行”步骤仅用于单个阶段?
您不得在内部放置已弃用的,非阻塞作用域stage(如原始问题中所述)parallel。
stage
parallel
从JENKINS-26107开始,stage采用block参数。您可以放在parallel内部stage或stage内部parallel或stage内部stage等。但是,不能保证构建的可视化支持所有嵌套。特别是
JENKINS-27394(如果实现)将显示任意嵌套stage的。