Можно ли получить доступ к глобальной переменной на разных узлах / агентах в конвейере jenkins? - PullRequest
0 голосов
/ 03 марта 2020

Я объявил глобальную переменную def my_var в своем конвейерном скрипте на узле и установил значение для переменной на узле dev и в последующем задании (которое выполняется на другом тесте узла), к которому я пытаюсь получить доступ значение my_var

Задание на входе:

def my_var
pipeline {  
agent none;
parameters {
    string(defaultValue: "${CHANGE_BRANCH}", description: 'This is a parameter', name: 'PARAMETER01')
}

 stages {
  stage('PR'){
  agent {node 'dev'}
   steps{
       script{
          my_var = "${env.PARAMETER01}"
       }
      build job: 'PR-Job',  parameters: [text(name: 'testParam', value: "${my_var}")]
    }
  }
}

Задание на выходе (PR-задание):

pipeline {  
agent none;
stages {
    stage('PrintParameter'){
      agent {node 'test'}
        steps{
            sh "echo ${testParam}"            

        }
    }

1 Ответ

2 голосов
/ 03 марта 2020

Вы, кажется, забыли добавить параметр в свою последующую работу.

pipeline {  
    parameters {
        string(name: 'testParam', defaultValue: '', description: '')
    }
...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...