【发布时间】:2011-10-07 23:53:27
【问题描述】:
我正在为我们的开发设置一个 CI,并想了解有关管理针对不同环境的配置文件的想法/最佳实践。
想到的第一个方法是在不同的目录中保持环境特定的配置文件受版本控制,并使用构建平台如 NAnt 将正确的配置文件按顺序复制到环境中:
比如我的CI流程基本遵循这个流程:
subversion -> 1. buildarea -> 2. test env -> 3. beta. env. -> 4. live
在版本控制下有三个文件夹,称为:
dev.config/: global.asa, app.config
test.config/: gloval.asa, app.config
live.config/: global.asa, app.config
在连续的步骤 2、3、4 中,使用 NAnt 将正确的配置文件复制到环境中。但这可能不是很理想。
【问题讨论】:
-
如果配置包含very-secret-keys-from-3rd-party-API怎么办?普通开发人员不应使用阶段和生产配置。我会更好地使用 puppet 或 Chef 提供配置
-
是的,这里的安全性也是一个问题,考虑到某些密码很敏感,我也在考虑如何最好地构建授权。我会很感激想法和替代方法。
-
所以通过 puppet 传递配置,或者从每个服务器上的一些
main.config-dist手动编辑它们 -
什么是傀儡?能否请您指出一些有关如何使用 puppet 或从 main.config-dist 手动使用的 Web 资源。欢呼
-
好的,干杯,我会阅读 Puppet 和 Chef
标签: svn deployment continuous-integration nant