Jenkinsfile:如何根据分支名称参数化凭证Id?
我正在我的Jenkins文件中使用凭据插件,如下所示-Jenkinsfile:如何根据分支名称参数化凭证Id?,jenkins,jenkins-pipeline,jenkins-groovy,jenkins-declarative-pipeline,Jenkins,Jenkins Pipeline,Jenkins Groovy,Jenkins Declarative Pipeline,我正在我的Jenkins文件中使用凭据插件,如下所示- stage("stage name"){ steps{ withCredentials([usernamePassword(credentialsId: 'credId', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]){ sh''' statement 1
stage("stage name"){
steps{
withCredentials([usernamePassword(credentialsId: 'credId', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]){
sh'''
statement 1
statement 2
'''
}
}
}
根据新的要求,我需要根据分行名称设置不同的凭证id。这意味着,如果分支名称是master,我应该使用credentialsId:'mastercred',对于其他分支,我应该使用credentialsId:'othercred'。“withCredentials”块中的代码将与相同,唯一的更改将与credentialsId相同
我不想重复代码。有没有办法将此凭证ID参数化 您可以读取branch name变量,并将a
credentialId
变量设置为在工作中使用。例如:
stage("stage name"){
steps{
if (env.BRANCH_NAME == "master"){
credentialId = "mastercred"
}else
credentialId = "othercred"
}
withCredentials([usernamePassword(credentialsId: "${credentialId}", usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]){
sh'''
statement 1
statement 2
'''
}
}
}