我有一个Jenkins顺序分段管道,如下所示。我想将地图(类似于def return_map = [:])从第一个顺序阶段传递到另一个顺序阶段(1到2)
这是我正在使用的代码。
def stepsToRun = [:]
pipeline {
agent none
stages {
stage ("Prepare Stages"){
steps {
script {
build_script = load '/home/ubuntu/Documents/build-image.groovy'
for (int i = 1; i < 5; i++) {
stepsToRun["Step${i}"] = prepareStage("Step${i}")
}
parallel stepsToRun
}
}
}
}
}
def prepareStage(def name) {
return {
stage (name) {
stage("1") {
def return_map = build_script.image_build_handler(var1,var2,var3)
}
stage("2") {
build_script.push_images(return_map)
}
}
}
}
我想将return_map传递到我这样尝试的下一个阶段(stage2)。但这没用。
答案 0 :(得分:0)
您可以这样尝试吗?
def prepareStage(def name) {
return {
stage (name) {
stage("1") {
def return_var = build_script.image_build_handler(var1,var2,var3)
env.return_var = return_var
}
stage("2") {
build_script.push_images(env.return_var)
}
}
}
}