我正在编写一个新的Jenkins管道,并且有一组我最终希望并行运行的步骤。但是,虽然我正在开发这个管道,但我想强制它按顺序运行。我没有看到任何方法来指定并行步骤使用的线程数或类似的东西。这是迄今为止的基本代码:
node('x') {
stage('cleanup'){
def cleanupScripts = [:]
cleanupScripts[1] = { sh(script: "cleanup1.sh") }
cleanupScripts[2] = { sh(script: "cleanup2.sh") }
cleanupScripts[3] = { sh(script: "cleanup3.sh") }
cleanupScripts[4] = { sh(script: "cleanup4.sh") }
parallel cleanupScripts
}
}
我希望能够顺序运行这些shell脚本,而无需更改大量代码。
答案 0 :(得分:2)
而不是parallel cleanupScripts
,您可以这样使用:
cleanupScripts.each{ key, value ->
value()
}
答案 1 :(得分:0)
我不知道在詹金斯中并行运行的任何方式。您可以在同一节点或不同节点中运行并行作业。
运行并行作业
parallel (
// job 1, 2 and 3 will be scheduled in parallel.
{ build("job1") },
{ build("job2") },
{ build("job3") }
)
你可以为每次清理工作* .sh并像上面那样调用这些工作。
更简单的方法是使用parallel命令
或最简单
clenaup1.sh &! clenaup3.sh &! clenaup4.sh &! ...