gpt4 book ai didi

jenkins - 如何在 dsl 中使用 jenkins 插件获取用户名和密码?

转载 作者:行者123 更新时间:2023-12-02 03:08:44 26 4
gpt4 key购买 nike

我是 jenkins 新手,我正在尝试使用凭证插件在 dsl 中使用凭证

模板.xml

<com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl>
<scope>GLOBAL</scope>
<id>PROD</id>
<description>prod credentials</description>
<username>prod</username>
<password>{{ encrypted_password_prod }}</password
</com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl>

我已在 jenkins 中将凭据定义为 username with password 。上述加密值保存在ansible中。

我的问题是我应该如何在我的 dsl 中调用它们

Map credentials = [:]

credentialsBinding {
credentials.each { key, value ->
string("${key}", "${value}")
}


.credentials(["TF_VAR_username": "PROD" ,"TF_VAR_password" : "password_prod"])

错误:

22:11:16 FATAL: Credentials 'PROD' is of type 'Username with password' where 'org.jenkinsci.plugins.plaincredentials.StringCredentials' was expected

最佳答案

您可以将凭据放入 Jenkins keystore 中(Jenkins -> 凭据 -> 系统 -> 全局凭据 -> 添加凭据),然后使用 withCredentials block 在管道中引用它们,如下所示:

node {
withCredentials([usernameColonPassword(credentialsId: 'mylogin', variable: 'USERPASS')]) {
sh '''
set +x
curl -u "$USERPASS" https://private.server/ > output
'''
}
}

更多信息请点击:https://jenkins.io/doc/pipeline/steps/credentials-binding/

关于jenkins - 如何在 dsl 中使用 jenkins 插件获取用户名和密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58296196/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com