我有一個 Jenkins Multibranch 專案,我需要根據我現在所在的 Git 分支設定一些憑據。例如:
# If I'm in master
MY_VARIABLE = credentials("master-credential")
# If I'm in develop
MY_VARIABLE = credentials("develop-credential")
# If I'm in QA
MY_VARIABLE = credentials("qa-credential")
現在,我嘗試用不同的前綴命名我的變數,并按以下方式設定它們:
pipeline {
agent any
environment {
MY_VARIABLE = credentials("${env.BRANCH_NAME}-credential")
}
stages {
stage("Start") {
steps {
# use MY_VARIABLE on my steps
}
}
但它不起作用。
我想我可以為我的憑據使用不同的域,然后在設定它們時指定域,但我還沒有在檔案中找到如何在 Jenkinsfile 上指定域。
如果有人可以幫助我,我將不勝感激。
謝謝!
uj5u.com熱心網友回復:
雖然credentials在environment指令中使用便利函式 for更清晰,但對于像這樣決議的內插字串,credentialsId您需要使用withCredentials插件和步驟方法。基于這個問題,我將假設您想要的型別系結用于string:
steps {
withCredentials([string(credentialsId: "${env.BRANCH_NAME}-credential", variable: 'MY_VARIABLE')]) {
# use MY_VARIABLE on my steps
}
}
查看檔案以獲取更多資訊。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/388726.html
