存储配置文件
Storing Configuration File
我对放置包含数据库密码、服务器名称和我的应用程序或服务的其他服务设置的配置感到担忧。
现在,我把配置文件和我的代码放在同一个地方 (Git)。这是有风险的,因为如果有人得到它,他/她可以连接到我的数据库或服务。我也在使用 CI/CD 开发工具,例如 Jenkins。我应该把我的配置放在哪里,所以当我 运行 我的管道或自动部署时,我的配置文件就准备好了?
- Git,和我的代码一样
- Jenkins,每次 CI 创建文件并将其放入 运行
- Hidden Drive,部署为 运行
时通过 Jenkins 命令拉取配置文件
- 还有其他想法吗?
谢谢
您是否尝试过任何特定于凭证的 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 中以解密这些文件。
我对放置包含数据库密码、服务器名称和我的应用程序或服务的其他服务设置的配置感到担忧。
现在,我把配置文件和我的代码放在同一个地方 (Git)。这是有风险的,因为如果有人得到它,他/她可以连接到我的数据库或服务。我也在使用 CI/CD 开发工具,例如 Jenkins。我应该把我的配置放在哪里,所以当我 运行 我的管道或自动部署时,我的配置文件就准备好了?
- Git,和我的代码一样
- Jenkins,每次 CI 创建文件并将其放入 运行
- Hidden Drive,部署为 运行 时通过 Jenkins 命令拉取配置文件
- 还有其他想法吗?
谢谢
您是否尝试过任何特定于凭证的 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 中以解密这些文件。