技術團隊程式碼管理和部署
阿新 • • 發佈:2019-02-15
在svn的主幹開發流程
-
開發同學更新主幹程式碼,提交程式碼
-
部署測試環境
-
檢查每一個要上線的檔案版本,是否夾帶其它同學的提交,如果有,先回滾再提交,或者是帶版本號上線,如:
common/request/Base.php common/config/db.php -r 182993909
成本大在哪些地方?
切換到git分支開發
branch和tag
正常開發流程
-
從master切feature分支開發
-
自測通過之後,提交 pull request 到 development(如果是大專案milestone的話,可以先pull request到milestone分支),並通知QA部署feature分支迴歸
-
CodeReview標Ok,QA驗收通過後進行merge到development,如果CodeReview或者QA發現有問題,在feature分支修正再部署到測試環境,直到沒有問題
-
merge 驗收通過的 feature-fix 到 development
-
部署development分支到測試環境
-
測試驗收通過,merge development分支到master,打tag
-
發起模擬環境上線,模擬環境驗收
-
驗收通過,發起生產環境上線
-
leader稽核上線任務,發起同學進行部署,生產環境驗收
hotfix流程
-
從master切hotfix分支開發
-
merge 確保所有要釋出的 pull request 到 master
-
後面與正常開發流程一致了
-
merge master分支到development
大專案與hotfix開發和上線流程圖
-
使用者分身份註冊、登入
-
開發者發起上線任務申請
-
管理者稽核上線任務
-
支援多專案部署
-
快速回滾
-
部署前準備任務(前置檢查)
-
程式碼檢出後處理任務(如vendor,環境配置)
-
同步到各目標機器後收尾任務(如重啟)
-
執行sql構建(不要擔心忘記測試環境sql同步)
-
線上批量檔案指紋檢查