Как изменить переменную, определенную в блоке сценария, в декларативном конвейере jenkins

Я объявил переменную TENTATIVE_VERSION в своем скрипте, и мне нужно определить/изменить ее со значением, полученным в результате выполнения скрипта (или из самого скрипта на другом этапе) , как это сделать? мой текущий скрипт выглядит примерно так:

pipeline {
agent {
    label 'machine1'
}
stages {
    stage('Non-Parallel Stage') {
        agent{label "machine2"}
        steps {
            script {
                TENTATIVE_VERSION="1.0" // working
                // TENTATIVE_VERSION="sh echo 123" //not working
            }
        }
    }
    stage('Parallel Stage') {
        parallel {
            stage('A') {
                agent {label 'machine3'}
                steps {
                    echo "On other machine"
                    echo "${TENTATIVE_VERSION}"
                    build job: 'otherJob', parameters: [[$class: 'StringParameterValue', name: 'VERSION', value: "${TENTATIVE_VERSION}"],
                    [$class: 'StringParameterValue', name: 'RELEASE', value: '1']]
                }
            }
            stage('B') {
                agent {label "machine4"}
                steps {
                    script {
                        STATUS_S = "OK"
                    }
                    echo "On a machine"
                }
            }
            stage('C') {
                agent {label "machine5"}
                steps {
                    script {
                        STATUS_R = "OK"
                    }
                    echo "On a machine"
                }
            }
        }
    }
}

person Johan Alexis Duque Cadena    schedule 09.08.2018    source источник


Ответы (1)


Попробуйте следующее:

pipeline {
agent {
    label 'machine1'
}
stages {
    stage('Non-Parallel Stage') {
        agent{label "machine2"}
        steps {
            script {
                TENTATIVE_VERSION = sh(returnStdout: true, script: "echo 123").trim()
            }
        }
    }
}
}
person awefsome    schedule 09.08.2018