将值从子声明式Jenkins管道传递给父级

时间:2019-06-08 14:49:32

标签: groovy parameters jenkins-pipeline jenkins-groovy

我有一个声明性的管道设置,其中父管道通过“构建作业:workflow('workflow-name')”启动子管道,并且我通过“ parameters”指令传递参数

问题是,在其中一个阶段的子管道中,我生成一个shell并将少量值写入文件,并通过readFile方法读取文件的内容,并在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()
            }
         }
       }
    }
 }
}

0 个答案:

没有答案