【问题标题】:Pass environment variables from parent job to child job Jenkins pipeline将环境变量从父作业传递到子作业 Jenkins 管道
【发布时间】:2020-12-05 09:22:11
【问题描述】:

我有两个管道作业。

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

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

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

有没有办法将所有的环境变量传递给子作业。

【问题讨论】:

    标签: jenkins environment-variables jenkins-pipeline gerrit-trigger


    【解决方案1】:

    我参加了两个管道作业:管道 1(父作业)和管道 B(子作业)

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

    管道 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:我使用了选项 This build is parameterized 来捕获父作业(即 Pipeline1)传递的环境值的值。然后,在管道脚本中使用该变量。

    管道B配置

    请尝试一下。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-24
      相关资源
      最近更新 更多