#jenkins #scripting #jenkins-pipeline
#дженкинс #написание сценариев #дженкинс-конвейер
Вопрос:
Итак, я могу захватить переменную за такой шаг, как этот:
stage('blah') {
script {
INVENTORY_FILE = sh(returnStdout: true, script: 'echo $(date %Y%m%d).yml')
}
}
И это работает. За исключением того, что мне нужно, чтобы эта переменная была в области видимости для всего Jenkinsfile, для всех этапов, а не только для этого. Но, похоже, я не могу использовать sh () вне сцены. Есть какие-нибудь идеи?
Ответ №1:
Вы можете определить переменную в верхней части файла Jenkinsfile, затем вы можете получить доступ к этой переменной во всем файле Jenkinsfile.
def INVENTORY_FILE
pipeline {
stages {
stage('blah') {
script {
INVENTORY_FILE = sh(returnStdout: true, script: 'echo $(date %Y%m%d).yml').trim()
}
}
}
}