適合自己團隊的 Git 工作流程
運行環境
本地開發環境
自己電腦上的工作環境
CI環境
持續集成運行環境
測試環境
提交給測試人員時,程序的運行環境
預發環境
與生產環境一致,但是不對外開放,供測試人員基于生產環境的數據,做最后一次測試
生產環境
正式發布后的運行環境
各分支的職責
開發分支
- 對應測試環境
- 基于 master 分支來建立開發分支(命名規范待定)
- 線上的Bug修改,新功能開發,都在開發分支上進行。
- 每個開發分支的程序,都在測試環境單獨運行,供測試人員進行測試。
master分支
- 對應測試環境
- 所有開發分支的修改,在測試環境測試通過后,都必須首先合并到 master 上。
- master 分支的程序,也要在測試環境單獨運行,供測試人員進行回歸測試。
release分支
- 對應預發環境,和生產環境
分支工作流程
流程圖
Gitlab 工作流程 v1.0
Gitlab 分支工作流程
新功能開發
- 在 Gitlab 建立 Milestone 和 Issue。
- 從 master 建立開發分支,進行新功能開發。
- 開發完成后,進行測試。
- 測試完成后,給需求方做評審。
- 評審完成,提交 Merge Request 向 master 合并。
- Review 通過后,執行 Merge Request。
線上Bug修復、緊急上線的開發
- 建立 Issue
- 從 master 建立開發分支,進行Bug修改。
- 開發完成后,進行測試。
- 測試完成,提交 Merge Request 向 master 合并。
- Review 通過后,執行 Merge Request。
測試環境的測試
- 開發分支先把當前分支部署到測試環境做測試。
- 之后,所有開發分支的修改都必須先合并到 master 分支,并提交測試,最好在合并到 master 后做一次回歸測試。
- master 測試沒通過時,繼續回到開發分支修改Bug,然后測試開發分支,然后合并到 master 測試
預發環境的測試
- 對于新功能,master 合并到 release ,部署到預發環境繼續測試
- 對于Bug和緊急功能,從 master 上 cherry pick 相關 commit 到 release,部署到預發環境繼續測試
- 預發沒有測試通過時,繼續回到開發分支修改Bug,從測試環境重新測試
上線發布
- release 在預發環境測試通過后,直接發布上線
- 上線后的Bug,重新回到開發分支修改,測試