我有两个管道作业。
父项作业:该作业包含Gerrit触发器,并以创建的每个补丁集为基础。构建此作业后,我可以在“构建环境变量”部分中看到Gerrit环境变量。
子作业:仅当gerrit_branch不等于master时运行。
我想像父作业一样将所有Gerrit环境变量传递给该作业。
是否可以将所有env变量传递给子作业。
答案 0 :(得分:1)
我接受了两个管道作业: 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)传递的环境值的值。然后,在管道脚本中使用该变量。
请尝试一下。