当前位置: 首页 > 面试题库 >

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

徐承载
2023-03-14
问题内容

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

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

这就是我在做什么:

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'
}


 类似资料:
  • 问题内容: 为了将提交分支的名称隔离到可以在日志中打印出的变量中,需要对以下内容进行哪些具体更改? 在以下情况下,分支的名称为。 具体细节如下: Jenkinsfile: 以下代码在通过运行命令产生的输出中间打印出分支名称,但是当后续代码行()尝试打印命令的封装结果时,此信息会丢失: 结果日志: 结果日志输出为: 重述的问题: 为了在日志中输出以下行,需要如何修改上述Jenkinsfile: 问题

  • java ee应用程序(部署到wildfly中)在数据库中存储不同用户的敏感数据,如访问密钥等。为了解密这些数据--它需要一个与当前用户关联的主密码。用户登录到应用程序时输入的密码用于此操作。 现在我正在考虑使用keycloak来保护这个应用程序的可能性。但是看起来没有办法用keycloak为当前登录的用户获得密码(因为它是用令牌操作的)?要求用户在应用程序中再次输入密码不是一个选项。

  • 问题内容: 我丢失了MySQL用户名和密码。我如何找回它? 问题答案: 停止MySQL进程。 使用–skip-grant-tables选项启动MySQL进程。 使用-u root选项启动MySQL控制台客户端。 列出所有用户; 重设密码; 但 不要忘记 ,以 停止MySQL进程 正常启动MySQL进程(即不使用–skip-grant-tables选项) 完成后。否则,数据库的安全性可能会受到威胁。

  • 问题内容: 我创建了一个詹金斯管道,它正在从scm中提取管道脚本。 我将分支说明符设置为“ ”,因此它基于对任何分支的任何更改。 如何从Jenkinsfile访问导致此生成的分支名称? 我尝试过的一切都呼应null 总是这样。 问题答案: 如果您的管道有jenkinsfile,请检查执行时是否在环境变量中看到分支名称。 您可以使用以下命令打印它们: 但是,PR 91显示仅在某些管道配置中设置了分支

  • 对于一些要求,我需要从登录页面的用户给定的用户名和密码。( 但是,我无法设法进入以下SecurityConfig的配置方法。 @EnableWebSecurity公共类SecurityConfig扩展WebSecurity配置适配器{