我最近遇到了管理項目及其可交付項目的方法。項目團隊正在使用git存儲庫進行開發。有另一個存儲庫用於部署工件。我可以看到這種方法的幾個好處。獨立開發和部署git存儲庫
- 保持部署歷史清潔(無開發商提交)
- 部署庫的機會有限(沒有開發商可以把掌握和突破的東西,因爲他們沒有進入到部署庫)
- 所有依賴項位於部署存儲庫中。這樣可以降低在部署的不同階段運行bower安裝或類似的依賴關係管理器的風險,並獲得不同的結果。
您認爲此方法的優點和缺點是什麼?
我最近遇到了管理項目及其可交付項目的方法。項目團隊正在使用git存儲庫進行開發。有另一個存儲庫用於部署工件。我可以看到這種方法的幾個好處。獨立開發和部署git存儲庫
您認爲此方法的優點和缺點是什麼?
主要好處是保持可交付的工件(可以很大,可以包括二進制文件)獨立於源回購。
主不方便(對於這兩種方法)是將二進制文件保存在git repo中(這不適合用於這種工件)。
替代品存在(使用git):git-annex, bup, ...。
或者你可以store those deliverable in a dedicated referential,像Nexus (which is different from a git repo)
[本文](http://nvie.com/posts/a-successful-git-branching-model/)討論了使用單一的Git倉庫,實現了管理模式大部分相同;至於(2),您可以(也應該)通過SSH來限制對部署服務器的訪問。 – lfk
對部署服務器的訪問受限並不會阻止人們意外推送到主服務器(即使使用--force)。該項目仍然使用提到的git分支模型,但是在項目準備發佈後(master分支中的所有更改),master分支的快照被複制到新發布分支中的部署存儲庫,並且發佈分支被檢出在服務器上。 – Shaggy