【发布时间】:2014-05-21 04:33:37
【问题描述】:
我最近遇到了一种管理项目及其可交付成果的方法。项目团队正在使用 git 存储库进行开发。还有另一个存储库用于部署工件。我可以看到这种方法的几个好处。
- 保持部署历史记录干净(没有开发人员提交)
- 对部署存储库的访问受限(开发人员无权访问部署存储库,因此无法推送到 master 和破坏事物)
- 所有依赖项都在部署存储库中。这降低了在不同部署阶段运行 bower install 或类似依赖项管理器并获得不同结果的风险。
您认为这种方法有哪些优点和缺点?
【问题讨论】:
-
This article 讨论了使用单个 Git 存储库实现大部分相同功能的管理模型;至于(2),您可以(并且应该)通过 SSH 来限制对部署服务器的访问。
-
对部署服务器的限制访问并不能阻止人们意外推送到主服务器(即使使用 --force )。该项目仍在使用提到的 git 分支模型,但在项目准备好发布后(主分支中的所有更改),主分支的快照被复制到新发布分支中的部署存储库,并且发布分支被签出在服务器上。
标签: git deployment