[英]Pass environment variables from parent job to child job Jenkins pipeline
我有两个管道工作。
父作业:此作业包含 Gerrit 触发器,并基于创建的每个补丁集构建。 构建此作业后,我可以在构建环境变量部分中看到 Gerrit 环境变量。
子作业:仅当 gerrit_branch 不等于 master 时才运行。
我想像父作业一样将所有 gerrit 环境变量传递给这个作业。
有没有办法将所有 env 变量传递给子作业。
我已经完成了两个管道作业: Pipeline1(父作业)和 pipelineB(子作业)
Pipeline1:我正在从存在 Jenkinsfile 的 github 进行 SCM 签出,在 Jenkinsfile 中,我调用了 pipelineB(子作业),我在其中传递了父作业环境变量(GIT_BRANCH)。
Pipeline1的Jenkinsfile
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)传递的环境值的值。 然后,在管道脚本中使用该变量。
请试一试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.