我们在Jenkins中配置了自由式项目,运行shell脚本作为构建步骤。在某些情况下,我们需要访问第三方服务的凭据。我们通过提供凭据解决了这个问题:
USER=theuser
PASS=thepass
项目环境中的(Prepare an environment for the run -> Properties Content
)
这样做很好,但这是一个糟糕的解决方案,因为:
我们进行了一些研究并找到了promising plugin,但我们不知道如何使插件管理的凭据可用于我们的脚本,理想情况下是环境变量。
我们如何从脚本访问Jenkins插件管理的凭据?
答案 0 :(得分:5)
withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: yourCredentialsId, usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD']]) {
// user name and password will be stored in USERNAME and PASSWORD envs
}
答案 1 :(得分:4)
我们正在使用这个: https://wiki.jenkins-ci.org/display/JENKINS/Mask+Passwords+Plugin
然后指定您希望密码具有的环境变量
稍后您可以在shell中使用$ PASSWORD。