系統提測及上線規范(系統上線必讀!)


 

 

所有系統提測和上線流程均需按以下流程嚴格執行

1 需求上線(指產品推動,基於 PRD 的需求上線)

1.1 提測

  • 提測使用的分支必須為 test 分支

  • 測試非必要的情況下必須使用泳道,以后的測試骨干鏈路會禁止 RD 手工發布

  • 提測前一天必須提 PR,至少包含系統負責人和 TL,2 個 approve之后合並到 test 分支后提測 各系統主 R

  • 所有的提測項目必須提供提測文檔,提測文檔模板見 需求上線計划模板

  • 客戶端快照版本管理需要登記到文檔中各客戶端包版本登記

1.2 上線前准備

  • 提前一天merge 代碼,RD 提 PR 將開發分支(不能用 test 分支)的代碼合並到 release 分支,至少包含系統負責人和 TL,2 個 approve之后合並

  • 所有的需求上線前必須提交系統上線計划文檔 ,模板見 TODO

1.3 預上線階段

  • 修改數據庫、es 、redis 等基礎組件的配置

  • 編譯 release 分支上線 st 環境

  • 打正式的客戶端 release 包 各客戶端包版本登記

  • 修改 MCC 配置

  • 讓 QA 進行 ST 環境的驗證

1. 4 正式上線

  • QA 打 tag 合並到 master 分支,如新服務沒有 ci,手工提 PR 合並到 master 分支

  • RD檢查 master 分支的代碼,整體 check 一下修改點,防止有遺漏的合並的代碼或者沖突被覆蓋的代碼

  • 編譯 tag 的代碼為上線版本

  • 提前准備回滾版本( plus 會自動有線上包,如果不能用,使用上一次上線的包,或者重新使用上一次上線的 tag 重新打包)

  • 在 打車系統值班 群中發布上線周知

  • 先灰度一台機器,進入觀察階段(見下一步 上線后觀察),觀察無誤后,發剩余的機器

1.5 觀察階段

  • 上線后必須觀察,超過5分鍾的日志,觀察每一個異常,觀察本次修改的新日志是否按正常邏輯進行

  • 觀察數據庫,ES,redis中的數據是否按設計的內容生成

  • 全量上線完畢之后找 QA 驗證。

  • 驗證后在 打車系統值班 群中發布上線完畢周知

 

 

2 技術優化上線(一般指性能優化,一般無 QA 測試)

2.1 上線前准備

  • 提前一天merge 代碼,RD 提 PR 將開發分支的代碼合並到 release 分支,至少包含系統負責人和 TL,2 個 approve之后合並

  • 上線前必須提交系統上線計划文檔 ,模板見 技術優化上線計划模板

2.2 預上線階段

  • 修改數據庫、es 、redis 等基礎組件的配置

  • 編譯 release 分支上線 st 環境

  • 修改 MCC 配置

2.3 正式上線

  • QA 打 tag 合並到 master 分支,如新服務沒有 ci,手工提 PR 合並到 master 分支

  • RD檢查 master 分支的代碼,整體 check 一下修改點,防止有遺漏的合並的代碼或者沖突被覆蓋的代碼

  • 編譯 tag 的代碼為上線版本

  • 提前准備回滾版本( plus 會自動有線上包,如果不能用,使用上一次上線的包,或者重新使用上一次上線的 tag 重新打包)

  • 在 打車系統值班 群中發布上線周知

  • 先灰度一台機器,進入觀察階段(見下一步 上線后觀察),觀察無誤后,發剩余的機器

2.4 觀察階段

  • 上線后必須觀察,超過5分鍾的日志,觀察每一個異常並定位,觀察本次修改的新日志是否按正常邏輯進行

  • 觀察數據庫,ES,redis中的數據是否按設計的內容生成

  • 驗證后在 打車系統值班 群中發布上線完畢周知

 

 

3 Bug上線(一般 改 bug,一般無 QA 測試,無數據庫等中間件改動)

3.1 上線前准備

  • RD 提 PR 將開發分支的代碼合並到 release 分支,至少包含系統負責人和 TL,2 個 approve之后合並

  • 上線前必須提交系統上線計划文檔 ,模板見 bug修復上線計划模板

3.2 預上線階段

  • 編譯 release 分支上線 st 環境

3.3 正式上線

  • 手工提 PR 合並到 master 分支

  • RD檢查 master 分支的代碼,整體 check 一下修改點,防止有遺漏的合並的代碼或者沖突被覆蓋的代碼

  • 提前准備回滾版本( plus 會自動有線上包,如果不能用,使用上一次上線的包,或者重新使用上一次上線的 tag 重新打包)

  • 在 打車系統值班 群中發布上線周知

  • 先灰度一台機器,進入觀察階段(見下一步 上線后觀察),觀察無誤后,發剩余的機器

3.4 觀察階段

  • 上線后必須觀察,超過5分鍾的日志,觀察每一個異常並定位,觀察本次修改的新日志是否按正常邏輯進行

  • 驗證后在 打車系統值班 群中發布上線完畢周知

 

4 緊急上線(已經影響了線上,必須立刻修復的問題)

4.1 上線前准備

  • RD 直接合並代碼到 release 分支

4.2 預上線階段

  • 跳過預發布環節

4.3 正式上線

  • 提前准備回滾版本( plus 會自動有線上包,如果不能用,使用上一次上線的包,或者重新使用上一次上線的 tag 重新打包)

  • 緊急上線使用 release 分支來上線

  • 在 打車系統值班 群中發布上線周知

  • 先灰度一台機器,進入觀察階段(見下一步 上線后觀察),觀察無誤后,發剩余的機器

4.4 觀察階段

  • 上線后必須觀察,超過5分鍾的日志,觀察每一個異常並定位,觀察本次修改的新日志是否按正常邏輯進行

  • 驗證后在 打車系統值班 群中發布上線完畢周知

  • 驗證無誤之后,合並代碼到 master

  • 補充上線文檔 模板緊急上線計划模板

 

5 異常回滾

  • 觸發大量告警必須第一時刻立刻回滾

  • 在 打車系統值班 群中發布回滾周知

  • 定位問題,並在上線計划文檔中填寫問題分析,未填寫問題分析不允許再次上線

  • 填寫完問題分析后,與系統負責人或 TL 共同確認問題定位是否正確及修正思路

  • 確認完畢后修改代碼及上線計划文檔后,重新進入上線流程

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM