執(zhí)行階段
部署發(fā)布階段件余,由測試人員、項目經(jīng)理遭居、技術(shù)負(fù)責(zé)人啼器、運維人員執(zhí)行。
執(zhí)行人
業(yè)務(wù)組技術(shù)負(fù)責(zé)人與測試人員魏滚、項目經(jīng)理镀首、運維人員,協(xié)調(diào)執(zhí)行落地鼠次。
規(guī)范內(nèi)容
一更哄、發(fā)版流程
二、發(fā)版評審會
1腥寇、上線評審采用開【發(fā)版評審會】形式進行成翩,由項目經(jīng)理發(fā)起,項目管理赦役、產(chǎn)品麻敌、設(shè)計、開發(fā)掂摔、測試术羔、運維等相關(guān)部門人員參加赢赊。
2、發(fā)版評審會需確定事項如下:
發(fā)哪些服務(wù)级历,包括前释移、后端程序。
測試環(huán)境驗證情況寥殖,是否封版玩讳。
發(fā)版時間安排
各服務(wù)的代碼分支、版本號
代碼是否合并到正確分支嚼贡,是否在測試環(huán)境 default 特性環(huán)境驗證通過
收集并確認(rèn)相關(guān)的發(fā)版說明文件是否完整無遺漏
確定此次發(fā)版數(shù)據(jù)庫變更是否影響大數(shù)據(jù)平臺熏纯,如有影響則需要協(xié)調(diào)大數(shù)據(jù)組。
確定此次發(fā)版是否需要停服粤策,如需停服則協(xié)調(diào)運營相關(guān)部門發(fā)系統(tǒng)更新公告樟澜。
3、發(fā)版評審會結(jié)束后叮盘,由業(yè)務(wù)組在 TAPD 填寫發(fā)布評審往扔,流轉(zhuǎn)至運維,運維組將開始著手進行相關(guān)準(zhǔn)備熊户、執(zhí)行發(fā)版動作萍膛。
三、發(fā)版說明相關(guān)文件規(guī)范
- 所有提交給運維的發(fā)版說明相關(guān)文件嚷堡,以附件形式在放在「評審依據(jù)」項中蝗罗,最多 5 個附件。
- 文件若打包蝌戒,請按項目組打包串塑,例如 Java 的打成一個,PHP/NODE 類的打成一個北苟。
- 發(fā)版微服務(wù)說明總表格文件桩匪,固定名稱:``{業(yè)務(wù)組名稱}
_YYYYMMDD_發(fā)版.xlsx
- 數(shù)據(jù)庫變更相關(guān)文件,取名為:
db_update_{服務(wù)名稱友鼻、業(yè)務(wù)組名稱}.sql
- 配置文件變更相關(guān)說明傻昙,取名為:
config_update_{服務(wù)名稱、業(yè)務(wù)組名稱}.txt
- 其他說明文件彩扔,取名為:
release_note_{服務(wù)名稱妆档、業(yè)務(wù)組名稱}.txt
四、TAPD 發(fā)布評審單填寫說明
1虫碉、填寫時機:測試人員在測試環(huán)境對需要發(fā)版的所有服務(wù)均驗證無問題了贾惦,項目組內(nèi)部的產(chǎn)品(項目)、技術(shù)負(fù)責(zé)人確認(rèn)可以發(fā)布,同時開發(fā)人員已正確合并代碼后须板,再進行填寫碰镜。
2、流轉(zhuǎn)機制:【發(fā)布評審單】由項目組技術(shù)負(fù)責(zé)人安排組內(nèi)人員填寫习瑰,然后由技術(shù)負(fù)責(zé)人進行在線評審洋措,確認(rèn)發(fā)布到灰度,灰度驗證通過后再由技術(shù)負(fù)責(zé)人簽發(fā)【發(fā)布評審單】 發(fā)布到生產(chǎn)環(huán)境杰刽,運維發(fā)布完后內(nèi)部信息同步,項目組內(nèi)部的測試人員(或測試負(fù)責(zé)人)線上驗證無問題后確認(rèn)發(fā)布結(jié)果狀態(tài)王滤。
3贺嫂、字段填寫:
1)需要發(fā)版的服務(wù)名、版本號(測試環(huán)境構(gòu)建版本號)雁乡、負(fù)責(zé)人第喳,以表格形式填寫,填寫在【備注】字段踱稍;
2)初始化【發(fā)布評審單】時曲饱,【簽發(fā)人】字段填寫技術(shù)負(fù)責(zé)人,【發(fā)布確認(rèn)人】字段填寫業(yè)務(wù)組測試人員或測試組負(fù)責(zé)人珠月。
3)評審活動列表中的【業(yè)務(wù)線負(fù)責(zé)人簽核】字段填寫技術(shù)負(fù)責(zé)人扩淀,【運維人員確認(rèn)灰度部署】字段填寫運維人員或負(fù)責(zé)人。
4)業(yè)務(wù)組技術(shù)負(fù)責(zé)人簽核發(fā)布評審活動時啤挎,可在【通知相關(guān)人】字段中填寫相關(guān)運維人員或負(fù)責(zé)人驻谆、測試人員、產(chǎn)品(項目)負(fù)責(zé)人庆聘、產(chǎn)研中心CTO胜臊。
5)運維人員或負(fù)責(zé)人更新灰度部署狀態(tài)時,可在【通知相關(guān)人】字段中填寫相關(guān)的測試人員伙判、開發(fā)人員象对、業(yè)務(wù)組技術(shù)負(fù)責(zé)人、產(chǎn)品(項目)負(fù)責(zé)人宴抚。
6)【發(fā)版時間安排】字段勒魔,視不同場景按需填寫:A 需具體時間發(fā)布的,填寫具體時間菇曲,B 停服發(fā)布的沥邻,可以不填寫具體時間,C 需要立即發(fā)布的羊娃,請?zhí)顚懠磿r唐全。
7)正常發(fā)版流程、緊急發(fā)版流程里的所需填寫的字段是不同的,請注意區(qū)別邮利。
示例
下圖所示為發(fā)版評審會結(jié)束填寫的「發(fā)布評審」內(nèi)容弥雹。
五、灰度發(fā)布文明規(guī)約
為減少對生產(chǎn)環(huán)境真實用戶流量的影響延届,避免出現(xiàn)生產(chǎn)故障十萬火急的線上修復(fù)剪勿,我們在進行灰度發(fā)布過程中,需要遵從以下原則:
1方庭、數(shù)據(jù)庫的變更如需修改字段厕吉、添加字段、修改索引械念、添加索引头朱,需評估被修改的表當(dāng)前的數(shù)據(jù)量,評估該 SQL 語句的執(zhí)行時間龄减,數(shù)據(jù)量超過100萬條記錄项钮,不可白天高峰流量期間執(zhí)行;
2希停、生產(chǎn)發(fā)布不建議刪除字段的數(shù)據(jù)庫變更烁巫,【發(fā)布評審單】的各評審、確認(rèn)人員宠能,都應(yīng)該仔細(xì)查看發(fā)版說明亚隙,共同確保因為數(shù)據(jù)庫變更導(dǎo)致生產(chǎn)故障。如需刪除违崇,則需要各業(yè)務(wù)組技術(shù)負(fù)責(zé)人同步確認(rèn)后恃鞋,再安排閑時由運維人員執(zhí)行刪除;
3亦歉、數(shù)據(jù)庫變更有添加新字段的恤浪,該字段必須有缺省值;
4肴楷、數(shù)據(jù)庫變更水由,必須評估確認(rèn)兼容當(dāng)前生產(chǎn)環(huán)境的程序包;
5赛蔫、目前前端H5未提供灰度發(fā)布策略砂客,前端H5發(fā)布前需要先確保后臺程序已完成灰度,確認(rèn)灰度驗證通過呵恢;
6鞠值、灰度發(fā)布現(xiàn)在是試運行階段,灰度轉(zhuǎn)生產(chǎn)渗钉,通用時間為晚上 7 點之后彤恶,不要在白天高峰流量期間進行钞钙;
7、內(nèi)部測試企業(yè)可長期保留在灰度企業(yè)列表中声离,真實用戶企業(yè)芒炼,應(yīng)在灰度轉(zhuǎn)生產(chǎn)后刪除,并更新網(wǎng)關(guān)的配置术徊;
8本刽、將某家真實用戶企業(yè)加入灰度企業(yè)列表前,業(yè)務(wù)線的相關(guān)負(fù)責(zé)人應(yīng)跨部門協(xié)調(diào)赠涮,知會客戶子寓,確保客戶知曉并同意參與灰度笋除;
9斜友、真實用戶企業(yè)參與灰度,且灰度時間較長時株憾,應(yīng)同步信息到客戶服務(wù)相關(guān)部門。