Передача переменных в последовательные этапы в конвейере Дженкинса - PullRequest
0 голосов
/ 16 июня 2020

У меня есть последовательный поэтапный конвейер Jenkins, который выглядит как показано ниже. Я хочу передать карту (что-то вроде def return_map = [:]) с 1-го последовательного этапа на другой последовательный этап (от 1 до 2) enter image description here Это код, который я использую.

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). Я пробовал вот так. Но это не сработало.

1 Ответ

0 голосов
/ 16 июня 2020

Можете попробовать вот так:

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)
        }
    }
  }
}
...