簡體   English   中英

將“git 參數”從管道詹金斯作業 A 傳遞到作業 B

[英]Pass "git parameters" from pipeline jenkins job A to job B

我有一個管道詹金斯工作 A 和一個詹金斯工作 B,這可能是也可能不是管道工作。 我必須:

  • 第1步)。 從作業 A 和觸發作業 B
  • 第2步)。 git 參數(分支名稱和憑據)從作業 A 傳遞到作業 B,以便在作業 B 被觸發到作業 B 的工作區時簽出項目。

現在,我可以從工作 A 觸發工作 B,但我無法完成第 2 步。有人可以幫我嗎?

有幾種方法可以做到。

詹金斯文件

如果使用文件,則在管道之間傳遞變量。 您提到您沒有使用管道,所以我假設您沒有使用 JenkinsFile

pipeline {
    // Define the desired paramaters
    parameters {
        string(name: 'var1', defaultValue: '')
        }

        // Define global variable
        stage("define global var") {
             steps {
               env.var1 = value1
              }
        }
     
        stage("test variables") {
            steps {
              echo "${env.var1}"
            }
        }
  }

將變量寫入文件

將變量寫入文件,然后從磁盤讀取。

添加設置變量步驟


// First set the variables

script
{
    env.var1_name = "var1_value"
    .....
    env.varX_name = "varX1_value"

    // Print the values of the variables
    echo " My vars[DEV:${env.var1_name }] 
}
  • 完整的腳本看起來像
stage('define glbal variables') {
    script
    {
        env.var1_name = "var1_value"
        .....
        env.varX_name = "varX1_value"

        // Print the values of the variables
        echo " My vars[DEV:${env.var1_name }] 
    }
}

// Define Job which need teh value of the variable
stage('Job A') {
    echo "NEXT JOB DEV version = ${env.var1_name }"
}

stage('Job B') {
    echo "NEXT JOB DEV version = ${env.var1_name }"
}

定義一個全局變量

// Define a ---groovy--- global named [var1] which can be shared between steps
var1 = 'value1'

...

pipeline {
  stages {
    stage('A') {
      steps {
        echo "${var1}" 
        }
      }
   }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM