我可以从Jenkins管道中的普通Groovy方法运行并行操作吗?
My Jenkins管道是以声明方式指定的。然而,在我想介绍一个并行步骤的地方,我被迫进入普通Groovy方法:我可以从Jenkins管道中的普通Groovy方法运行并行操作吗?,jenkins,groovy,Jenkins,Groovy,My Jenkins管道是以声明方式指定的。然而,在我想介绍一个并行步骤的地方,我被迫进入普通Groovy方法: def call(Map parameters) { runFirstStep(parameters) // add second step that runs in parallel to runFirstStep } 尽管我在Groovy和Jenkins方面没有经验,但我希望做一些简单的工作,比如: def call(Map parameters) {
def call(Map parameters) {
runFirstStep(parameters)
// add second step that runs in parallel to runFirstStep
}
尽管我在Groovy和Jenkins方面没有经验,但我希望做一些简单的工作,比如:
def call(Map parameters) {
parallel(
'First step': {
runFirstStep(parameters)
},
'Second step': {
runSecondStep(parameters)
}
)
}
然而,这似乎以一种不合适的方式混淆了声明性代码和命令性代码,并导致了神秘的NullPointerException
还有其他可行的解决方案吗?还是覆盖围绕此的声明性部分是压缩另一个并行步骤的唯一选项
def call(Map parameters) {
def steps = [:]
steps['First step'] = {
node('master') {
runFirstStep(parameters)
}
}
steps['Second step'] = {
node('master') {
runSecondStep(parameters)
}
}
parallel steps.plus([failFast: true])
}