管理开源项目的配置

时间:2012-09-16 15:07:49

标签: configuration open-source configuration-management

对于过去的几个项目,我使用BitBucket私有存储库来为不同的项目保留生产就绪配置。 该存储库中的每个项目都有自己的分支,以便将敏感信息和私人信息置于公众视线之外。

有些项目是开源的,同时生活在真实的生产环境中;当使用cheffabric等工具进行部署时,我只需检查项目的必要分支并将配置上传到生产服务器。

我很好奇当你必须管理生产配置并同时保持项目开源时,如何管理开源项目的配置?

1 个答案:

答案 0 :(得分:0)

简短回答:应用程序存储库不应包含任何特定于部署的配置。

虽然非应用程序代码的配置文件通常会进入项目存储库以方便使用,但通常是a)糟糕的安全实践(因此您不愿意开源)和b)违反分离关注。

相反,您应该为所有应用程序部署和脚本创建单独的存储库。部署存储库中的文件将引用您的应用程序存储库。遵循此模式,应用程序存储库包含“what”,部署存储库包含“how” - 从部署到部署通常会有所不同。

此规则的例外情况包括永远不会在所有部署中更改的脚本或配置(例如Procfile或守护程序脚本),因此应保留在应用程序存储库中。