Передача значений из дочернего декларативного конвейера Jenkins к родителю - PullRequest
0 голосов
/ 08 июня 2019

У меня есть декларативная настройка конвейера, где родительский конвейер запускает дочерний конвейер через «build job: workflow ('workflow-name')», и я передаю параметры через директиву «parameters»

Вопрос в том, что в дочернем конвейере на одном из этапов я создаю оболочку и записываю несколько значений в файл, а с помощью метода readFile содержимое файла читается и устанавливается в переменную groovy, определенную в верхней части.дочернего конвейера.

Эта переменная groovy (myVal) видна на всех этапах дочернего конвейера, но мне нужно использовать myVal в родительском конвейере,

Вопрос 1 - Будет лиmyVal будет доступен в родительском конвейере?Вопрос 2 - Если он недоступен, то как я могу получить к нему доступ, даже жизнеспособен ли он?

Как видите, дочерний конвейер работает в контейнере, а родительский конвейер - нет, то есть агент народительский конвейер отличается от родительского конвейера.

def myVal = ''
pipeline {
    agent {
     docker { 
        image 'myDockerImage'
        label 'myRemoteVM'
        args '-v /home/myuser:/home/myuser'
     }
    }
    stages {
       stage('step1') {
         steps {
            script {
              sh '''
                 ./myScript.sh
              '''
              myVal = readFile('myFileName.txt').trim()
            }
         }
       }
    }
 }
}
...