存储配置文件

Storing Configuration File

我对放置包含数据库密码、服务器名称和我的应用程序或服务的其他服务设置的配置感到担忧。

现在,我把配置文件和我的代码放在同一个地方 (Git)。这是有风险的,因为如果有人得到它,他/她可以连接到我的数据库或服务。我也在使用 CI/CD 开发工具,例如 Jenkins。我应该把我的配置放在哪里,所以当我 运行 我的管道或自动部署时,我的配置文件就准备好了?

  1. Git,和我的代码一样
  2. Jenkins,每次 CI 创建文件并将其放入 运行
  3. Hidden Drive,部署为 运行
  4. 时通过 Jenkins 命令拉取配置文件
  5. 还有其他想法吗?

谢谢

您是否尝试过任何特定于凭证的 Jenkins 插件?如果在您的 Jenkins 工作中使用凭据,这些凭据应该足够了。

凭据插件: https://wiki.jenkins-ci.org/display/JENKINS/Credentials+Plugin

普通凭证:https://wiki.jenkins-ci.org/display/JENKINS/Plain+Credentials+Plugin

您可能还想了解服务器配置管理工具处理私人凭据的方式。例如,Chef 允许加密的数据包存储凭证,供连接到 Chef 服务器的任何节点使用。

一种策略是将您的配置文件存储在单独的 git 存储库中(访问受限),然后通过 git 子模块将存储库导入您的应用程序存储库。将所有内容存储在 git 中仍然很好,因为您可以从 git 托管服务提供商那里获得相同的备份优势,而且您可以对更改进行版本控制。

如果您真的很在意隐私,您可以随时加密 git 中的配置文件,并将密钥存储在 Jenkins 中以解密这些文件。