错误:并行步骤只能用作唯一的顶层步骤
问题描述:
当我使用此脚本时,它可以按预期工作:
When I use this script it works as expected:
stage("B") {
parallel (
'C' : {
stage ("BC") {
parallel (
'E' : {
stage("Many") {
println "E1"
println "E2"
}
},
'F' : { println "F" }
)
}
},
'D' : { println "D" }
)
}
但是,如果封闭在管道块中,它将失败并显示错误使用了无效的步骤'stage'-在此情况下不允许-阶段步骤不能在Pipeline的步骤块中使用" >
But if enclosed in a pipeline block it fails with an Error "Invalid step 'stage' used - not allowed in this context - The stage step cannot be used in step blocks in Pipeline"
pipeline {
agent label:"debian"
stages {
stage("B") {
parallel (
'C' : {
stage ("BC") {
parallel (
'E' : {
stage("Many") {
println "E1"
println "E2"
}
},
'F' : { println "F" }
)
}
},
'D' : { println "D" }
)
}
}
}
知道为什么吗?
答
不知道这是否仍然是您的问题;但是搜索引擎仍然会针对相关查询提出这个问题...
正如 Jenkins文档所述,您不能嵌套parallel
指令:
As Jenkins docs say, you cannot nest parallel
directives:
嵌套的
stages
本身不能包含更多的parallel
阶段,...
The nested
stages
cannot contain furtherparallel
stages themselves, ...