【问题标题】:How to get username password stored in Jenkins credentials separately in jenkinsfile如何在jenkinsfile中分别获取存储在Jenkins凭据中的用户名密码
【发布时间】:2017-08-18 23:50:57
【问题描述】:

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

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

这就是我正在做的:

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

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

【问题讨论】:

    标签: jenkins jenkins-pipeline


    【解决方案1】:

    这是斯蒂芬金的答案的一个稍微简单的版本

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

    【讨论】:

    • 谢谢,这在当时是不可能的,但现在是更好的选择。
    【解决方案2】:

    您可以使用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'
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多