对于过去的几个项目,我使用BitBucket私有存储库来为不同的项目保持生产准备配置。该存储库中的每个项目都有自己的分支,以使敏感和私人信息远离公众的视线。
一些项目是开源的,同时又生活在真实的生产环境中;当涉及到使用chef
、fabric
等工具进行部署时,我只是签出与项目相关的必要分支,并将配置上传到生产服务器。
我很好奇,当你必须管理生产的配置和保持项目的开源时,你如何管理开源项目的配置?
发布于 2013-01-04 05:14:58
简而言之:应用程序存储库不应该包含任何特定于部署的配置。
虽然不是应用程序代码的配置文件确实经常会为了便于使用而进入项目存储库中,但这通常是a)糟糕的安全实践(因此您不愿将其开源)和b)违反了关注点分离。
相反,您应该为所有应用程序部署和脚本创建单独的存储库。部署存储库中的文件将引用您的应用程序存储库。遵循此模式,应用程序存储库包含“什么”,而部署存储库包含“如何”--这通常会因部署而异。
此规则的例外包括在所有部署中从不更改的脚本或配置(例如,Procfile
或守护程序脚本),因此应保留在应用程序存储库中。
https://stackoverflow.com/questions/12448016
复制相似问题