关闭。这个问题是opinion-based .它目前不接受答案。
想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它.
4年前关闭。
Improve this question
所以现在我们使用 Git 作为我们的版本控制。我们还使用 docker compose 来管理部署
我想处理这样一个事实,即我们有一些客户希望他们自己的网站版本与 docker-compose.yml 略有不同(例如由 docker 定义的环境变量)。这会导致 git pull 担心 docker-compose.yml 文件中未提交的更改。
我在想我可以从 master 打开一个分支,然后随着时间的推移从 master 中提取更改,这样我们就不必担心配置特定文件的更改。
当然,我可能会完全遗漏一些东西,并且有一个简单的解决方案可以解决所有这些问题。
最佳答案
标准的 git 方式是创建一个分支并经常从 master 更新它。这是一种非常常见的方法。
事实上,大多数开源项目都使用非常相似的技术,即从主存储库中获取一个分支,贡献者在分支存储库上进行自定义更改。
作为一个小评论,最好在 env_file 中维护环境变量,因为 env 值可能与客户端不同。这样,您在 docker-compose 文件中的手动 merge 就会减少。
更新
另一个可能值得评估的想法是 git submodules .基本上,您可以将需要不同的东西放入 git 子模块中,并在您的 repo 和客户端的 repo 之间保持父模块相同。这样客户端指向他自己的子模块,不需要维护单独的分支。
关于git - 对于可能在不同服务器上的实例之间存在细微配置差异的 Web 应用程序,什么是可接受的生产部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48450570/