簡體   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