请注意:问题是基于旧的、现在称为“脚本化”管道格式。当使用“声明式管道”时,并行块可以嵌套在阶段块内(请参阅声明式管道 1.2 的并行阶段 https://jenkins.io/blog/2017/09/25/declarative-1/).
我想知道并行步骤应该如何与 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
这不能按预期工作。 “do stuff”任务是并行执行的,但是并行阶段立即结束并且不包含它们应该包含的内容。因此,阶段视图不会显示正确的结果,也不会链接日志。
我可以并行构建不同的阶段,还是“并行”步骤仅适用于单个阶段?
您不能将已弃用的非块作用域stage
(如原来的问题)里面parallel
.
As of JENKINS-26107 https://issues.jenkins-ci.org/browse/JENKINS-26107, stage
采用块参数。你可以把parallel
inside stage
or stage
inside parallel
or stage
inside stage
然而,构建的可视化并不能保证支持所有嵌套;尤其
- 内置的管道步骤(列出构建运行的每个步骤的“树表”)显示任意
stage
筑巢。
- The 管道阶段视图 plugin https://wiki.jenkins-ci.org/display/JENKINS/Pipeline+Stage+View+Plugin当前仅按阶段开始的顺序显示阶段的线性列表,无论嵌套结构如何。
-
蓝海 https://jenkins.io/projects/blueocean/将显示顶级阶段,加上
parallel
在顶级阶段内有分支,但目前已经没有了。
JENKINS-27394 https://issues.jenkins-ci.org/browse/JENKINS-27394,如果实现,将显示任意嵌套stage
s.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)