bash - 如何使凭据可用于 jenkins 中的 shell 脚本

标签 bash shell jenkins credentials

我们在 Jenkins 中配置了自由式项目,运行 shell 脚本作为构建步骤。在某些情况下,我们需要访问第三方服务的凭据。我们通过提供以下凭据解决了这个问题:

USER=theuser
PASS=thepass

在项目环境中(准备运行环境->属性内容)

这工作正常,但这是一个糟糕的解决方案,因为:

  • 凭据未安全存储
  • 任何有权访问项目配置的人都可以看到它们
  • 它们在 Jenkins 控制台中泄漏

我们进行了一些研究,发现了一个 promising plugin ,但我们不知道如何让插件管理的凭据可用于我们的脚本,最好是作为环境变量。

我们如何从脚本访问由 Jenkins 插件管理的凭据?

最佳答案

我们正在使用这个: https://wiki.jenkins-ci.org/display/JENKINS/Mask+Passwords+Plugin

然后指定您希望密码具有的环境变量。

因此,如果您指定如下内容: enter image description here

稍后您可以在您的 shell 中使用 $PASSWORD

关于bash - 如何使凭据可用于 jenkins 中的 shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41013222/

相关文章:

linux - 运行文件夹中的所有 shell 脚本

jenkins - 在 jenkins 中设置 gradle org.sonarqube 插件 Sonar 分析任务(sonarqube)

jenkins - 仅当上一步失败时,如何在 Jenkins 中运行条件步骤

continuous-integration - Jenkins/Hudson - 访问当前版本号?

bash - 等待进程完成

linux - Bash - for循环中的多个条件

linux - 双引号 bash 脚本 linux

shell - 在 scp 路径中使用远程环境变量的值

bash - 如果没有扩展名为 .c 的文件,则 for 循环包括通配符 (*.c)。我怎么走?

linux - 检查 bash 中是否存在服务(CentOS 和 Ubuntu)