我已将用户名和密码作为凭据存储在 jenkins 中。现在我想在我的 Jenkinsfile 中使用它们。
我正在使用 withCredentials
DSL,但是,我不确定如何将用户名密码作为单独的变量获取,以便我可以在我的命令中使用它们。
这就是我正在做的:
withCredentials([usernameColonPassword(credentialsId: 'mycreds', variable: 'MYCREDS')]) {
sh 'cf login some.awesome.url -u <user> -p password'
}
如何分别输入用户名和密码?我试着做
${MYCREDS.split(":")[0]}
但这似乎不起作用。
最佳答案
您可以使用 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'
}
关于jenkins - 如何在 jenkinsfile 中分别获取存储在 Jenkins 凭据中的用户名密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43026637/