jenkins - 如何在 Jenkins job Builder 中使用“inject-passwords”?
问题描述
我正在使用yaml
文件来配置 jenkins 作业,并且遇到了该功能inject-passwords
(请参阅此处)。但是,该文档既没有描述如何在 jenkins 环境中使用变量,也没有描述“加密”密码的含义(如何加密?)。指向EnvInjectPlugin的链接也没有所需的信息。
我在哪里可以找到有用的信息/文档?为什么这个文档如此不完整?
语境:
我想以安全的方式将密码注入到詹金斯的工作中。在这个詹金斯工作中,我想使用这个密码作为登录在线服务的密码,以便测试该服务的几个方面。我需要测试脚本来获取该密码(环境变量?)才能登录服务。
参考文档中未回答的未解决问题:
解决方案
密码注入的文档不可用。因此,我在这里提供了一个完整的例子。
首先,你需要得到加密的密码。
- 转到可以安全修改的 Jenkins 作业的配置部分。例如,您当前尝试设置的那个。
- 在“构建环境”部分中,单击“将密码注入构建环境变量”。
- 使用虚拟变量名编写您的纯密码并保存配置。此步骤将在后台加密密码。
- 转到 Job 的“Job Config History”选项卡并查看最新的 RAW XML 配置文件。您将在 XML 中找到可以复制以供下一步使用的加密密码。
第二步,需要将密码放入yaml文件中,如下:
wrappers:
- inject-passwords:
global: true
mask-password-params: true
job-passwords:
- name: TEST_USER_PASSWORD
password: '{AQAAABAAAAAQvsFFVkOmzr5WzEhX8OWuK7mizr5xzEhX8lGo2AGMVw8=}'
- name: TEST_USER_PASSWORD2
password: '{AQAAABAAAAAQvsFFVkOmzr5xzEhX8lGo2AcPGMVw8b8SflGo2AcPGMVw8=}'
注意:密码用引号和大括号括起来。
第三步:在 jenkins 中可以使用环境变量TEST_USER_PASSWORD
和TEST_USER_PASSWORD2
. 这些变量将包含解密后的密码,但是当您将它们打印出来时,jenkins 会注意到日志中有一个密码,jenkins 会对其进行混淆。
例子:
实际输出
My password is jddfdjh44y98dyghsdgdgfdg
詹金斯日志输出
My password is [********]
您可以逐步打印变量的内容以获取密码(以检查它是否有效)。
推荐阅读
- azure - 有没有办法查看将日志发送到日志分析工作区的所有资源?
- jekyll - 使用 Github Pages 托管的 Jekyll 站点中是否需要 gemfile.lock 文件?
- python - 如何修复'TypeError:'str'对象不支持项目分配'
- python - 计算 pandas DataFrame 中的所有 NaN
- nginx - Plesk + Nginx + Prestashop + Muti 语言在短网址上获得 404
- html - dateClick 未以全日历角度发出
- vb.net - 在 VB.Net 中添加验证器后,.aspx 页面不加载
- maven - 春季云数据流和远程存储库的问题:已安装应用程序但我无法部署流
- wordpress - 受益于在 WordPress Gutenberg 块中使用属性的选择器属性
- reactjs - React App突然无法编译-scss无法导入