在 CI 环境中保护密码

Posted

技术标签:

【中文标题】在 CI 环境中保护密码【英文标题】:Protect passwords in CI environment 【发布时间】:2016-05-10 09:17:59 【问题描述】:

因此,您希望使用 Jenkins 或 Bamboo 等 CI 环境部署到服务器是一种常见情况。这也意味着您需要将端点凭据存储在某处。

执行此操作的最佳做​​法是什么?在文本文件中以纯文本形式保存密码当然是简单的方法,但通常是不可能的。

【问题讨论】:

我会说这是一个相当广泛的问题......我想到了通过环境变量进行注入。这就是 Jenkins 做这件事的人数(AFAIK)。 【参考方案1】:

如果您使用 Maven 进行部署,您可以加密您的密码,请参阅:https://maven.apache.org/guides/mini/guide-encryption.html

【讨论】:

【参考方案2】:

jenkins 我们一般使用MaskPasswords plugin,我不确定是竹子

【讨论】:

在 Bamboo 中设置构建计划变量是可行的方法。如果 password 是变量名的一部分,则该工具将在展开时屏蔽变量值。 @KenBrittain:密码在 Bamboo 运行时暴露。您可以通过ps查看它们。【参考方案3】:

使用Jenkins credentials plugin 存储您的密码; Jenkins 在存储在磁盘上的配置中对它们进行加密。请注意,可以解密密码,因此请确保您的 Jenkins 配置文件受到充分保护。

【讨论】:

以上是关于在 CI 环境中保护密码的主要内容,如果未能解决你的问题,请参考以下文章

tile38 server 密码保护

Nginx环境使用auth_basic密码保护wordpress后台登录界面

使用 Firebase 电子邮件/密码身份验证的 CSRF 保护

如何在Jenkins,Git和Gradle的持续集成环境中处理用户名/密码? [关闭]

Kvm --05 密码保护:Kvm管理之WebVirtMgr

虚拟化环境中如何有效的保护数据安全?