我已经在jenkins中将用户名和密码存储为凭证。现在,我想在我的Jenkinsfile中使用它们。
我正在使用withCredentialsDSL,但是,我不确定如何将用户名密码作为单独的变量获取,因此我可以在命令中使用它们。
withCredentials
这就是我在做什么:
withCredentials([usernameColonPassword(credentialsId: 'mycreds', variable: 'MYCREDS')]) { sh 'cf login some.awesome.url -u <user> -p password' }
如何分别输入用户名和密码?我尝试这样做,${MYCREDS.split(":")[0]}但这似乎不起作用。
${MYCREDS.split(":")[0]}
您可以使用UsernamePasswordMultiBinding获取单独的值的凭据数据:
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' }