如何解决将环境变量从父级作业传递到子级作业Jenkins管道
我有两个管道作业。
-
父项作业:该作业包含Gerrit触发器,并以创建的每个补丁集为基础。构建此作业后,我可以在“构建环境变量”部分中看到Gerrit环境变量。
-
子作业:仅当gerrit_branch不等于master时运行。
我想像父作业一样将所有Gerrit环境变量传递给该作业。
是否可以将所有env变量传递给子作业。
解决方法
我接受了两个管道作业: Pipeline1(父作业)和pipelineB(子作业)
Pipeline1::我正在从存在Jenkinsfile的github上进行SCM检出,在Jenkinsfile中,我调用了pipelineB(子作业),并在其中传递了父作业环境变量(GIT_BRANCH)。>
Pipeline1的詹金斯文件
pipeline {
agent any
stages
{
stage ('Build JobB')
{
steps {
sh 'env'
build job: 'pipelineB',parameters: [string(name: 'GITHUB_BRANCH',value: "${env.GIT_BRANCH}")]
}
}
}
}
GIT_BRANCH在这里是环境变量。 (https://plugins.jenkins.io/git/#environment-variables)
pipelineB :我使用了此构建已参数化选项,以捕获父作业(即Pipeline1)传递的环境值的值。然后,在管道脚本中使用该变量。
请尝试一下。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。