一尘不染

如何获取分别存储在jenkinsfile中的用户名密码

jenkins

我已经在jenkins中将用户名和密码存储为凭证。现在,我想在我的Jenkinsfile中使用它们。

我正在使用withCredentialsDSL,但是,我不确定如何将用户名密码作为单独的变量获取,因此我可以在命令中使用它们。

这就是我在做什么:

withCredentials([usernameColonPassword(credentialsId: 'mycreds', variable: 'MYCREDS')]) {
  sh 'cf login some.awesome.url -u <user> -p password'
}

如何分别输入用户名和密码?我尝试这样做,${MYCREDS.split(":")[0]}但这似乎不起作用。


阅读 800

收藏
2020-07-25

共1个答案

一尘不染

您可以使用UsernamePasswordMultiBinding获取单独的值的凭据数据:

withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId:'mycreds',
  usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD']
])

因此,以下情况适用于您的情况:

withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId:'mycreds', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD']]) {
  sh 'cf login some.awesome.url -u $USERNAME -p $PASSWORD'
}
2020-07-25