【问题标题】:Storing Configuration File存储配置文件
【发布时间】:2017-05-14 16:04:39
【问题描述】:

我担心将包含数据库密码、服务器名称和我的应用或服务的其他服务设置的配置放在一起。

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

  1. Git,我的代码在同一个地方
  2. Jenkins,每次 CI 运行时创建文件并放入其中
  3. 隐藏驱动,部署运行时通过Jenkins命令拉取配置文件
  4. 还有其他想法吗?

谢谢

【问题讨论】:

    标签: git jenkins continuous-integration continuous-deployment


    【解决方案1】:

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

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2019-07-10
        • 2021-06-21
        • 1970-01-01
        • 2018-03-17
        • 1970-01-01
        • 1970-01-01
        • 2018-03-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多