關於用 git 部署測試環境和生產環境,有點疑問糾結中。希望各位前輩指條明路。
之前看了很多文章,有人也用這種方法。
不知道這兩種方法哪個比較好?我現在有點糾結在這上面。
不知道哪種方式比較科學效率更高呢?
另外如果用第一種方法的話,應該可以程式碼開發玩 push 到 bitbucket 後,如果 bitbucket 上開發分支有變化,測試環境自動同步 bitbucket 上的開發分支。 bitbucket 上的主分支有更新的話,生產環境會自動同步 bitbucket 上主分支的程式碼。 (應該用 git 的 hock 應該可以做到。)但這樣做的話,是不是還是要在測試環境和生產環境的伺服器上分別建立 git 倉庫呢?
高洛峰2017-05-02 09:33:57
版本管理(git/svn)和部署應該適當隔離(解耦).
測試系統, 和部署系統只需要知道目標代碼所在的分支&版本號即可.
部署系統應該具備部署任意分支上任意版本程式碼的能力(需要上線的程式碼不一定是最新的).
大家讲道理2017-05-02 09:33:57
生產環境部署一個master分支,測試環境從master checkout一個分支例如develop分支,新功能從master checkout一個分支例如feature,然後用develop merge feature分支,進行測試,測試完畢用master merge feature分支。 develop每天merge master的程式碼,保持最新。