Git 工做流程
運行環境
本地開發環境
本身電腦上的工做環境測試
CI環境
持續集成運行環境spa
測試環境
提交給測試人員時,程序的運行環境開發
預發環境
與生產環境一致,可是不對外開放,供測試人員基於生產環境的數據,作最後一次測試部署
生產環境
正式發佈後的運行環境工作流
各分支的職責
開發分支
- 對應測試環境
- 基於 master 分支來創建開發分支(命名規範待定)
- 線上的Bug修改,新功能開發,都在開發分支上進行。
- 每一個開發分支的程序,都在測試環境單獨運行,供測試人員進行測試。
master分支
- 對應測試環境,再也不對應預發環境
- 全部開發分支的修改,在測試環境測試經過後,都必須首先合併到 master 上。
- master 分支的程序,也要在測試環境單獨運行,供測試人員進行迴歸測試。
release分支
分支工做流程
流程圖it
新功能開發
- 在 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,從新回到開發分支修改,測試