繁体   English   中英

将环境变量从父作业传递到子作业 Jenkins 管道

[英]Pass environment variables from parent job to child job Jenkins pipeline

我有两个管道工作。

  1. 父作业:此作业包含 Gerrit 触发器,并基于创建的每个补丁集构建。 构建此作业后,我可以在构建环境变量部分中看到 Gerrit 环境变量。

  2. 子作业:仅当 gerrit_branch 不等于 master 时才运行。

我想像父作业一样将所有 gerrit 环境变量传递给这个作业。

有没有办法将所有 env 变量传递给子作业。

我已经完成了两个管道作业: Pipeline1(父作业)和 pipelineB(子作业)

Pipeline1:我正在从存在 Jenkinsfile 的 github 进行 SCM 签出,在 Jenkinsfile 中,我调用了 pipelineB(子作业),我在其中传递了父作业环境变量(GIT_BRANCH)。

管道1配置在此处输入图像描述

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)传递的环境值的值。 然后,在管道脚本中使用该变量。

管道B配置在此处输入图像描述 在此处输入图像描述

请试一试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM