存储配置文件

时间:2017-04-17 04:19:47

标签: git jenkins continuous-integration continuous-deployment

我担心将配置包括数据库密码,服务器名称以及我的应用或服务的其他服务设置。

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

  1. Git,与我的代码相同的地方
  2. Jenkins,创建文件并在每次CI运行时将其放入其中
  3. Hidden Drive,在部署运行时通过Jenkins命令提取配置文件
  4. 还有其他想法吗?
  5. 谢谢

2 个答案:

答案 0 :(得分:1)

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

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

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

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

答案 1 :(得分:1)

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

如果隐私确实是您的一个大问题,您可以随时加密git中的配置文件,并将密钥存储在Jenkins中以解密它们。