在日常運(yùn)維過程中發(fā)現(xiàn),我們大部分用戶對(duì)螞蟻的研發(fā)流程比較感興趣,特別是在上百個(gè)開發(fā)者同時(shí)在一個(gè)App的環(huán)境內(nèi)進(jìn)行高效開發(fā),技術(shù)選型、研發(fā)流程還有線上運(yùn)維是怎么做的,成為大家關(guān)注的重點(diǎn)。以下分享我的一些理解。
Ⅰ 技術(shù)選型
目前研發(fā)模式分為 Native 模式和動(dòng)態(tài)化模式兩種,其中Native技術(shù)棧主要覆蓋基礎(chǔ)中間件,還有核心高保鏈路或者變更很少的一些基礎(chǔ)頁面,比如收銀臺(tái),登錄頁面,付款碼等。
其他場景業(yè)務(wù)一般會(huì)通過動(dòng)態(tài)化的方式,解耦客戶端版本發(fā)布。其中,在線H5一般適用于活動(dòng)營銷活動(dòng),離線包場景一般用于有固定入口的常駐業(yè)務(wù),如果有跨端多投場景,一般會(huì)選擇小程序,通過小程序的跨端發(fā)布實(shí)現(xiàn)多端投放。

Ⅱ 研發(fā)流程

1.需求階段:主要是需求評(píng)審,大家意見達(dá)成一致。
2.開發(fā)階段:代碼開發(fā),代碼合并以及打包等
3.測試階段:測試案例的編寫,功能測試,兼容性測試等
4.集成階段:代碼改動(dòng)申請(qǐng)進(jìn)對(duì)應(yīng)的集成基線,進(jìn)行集成驗(yàn)證
5.發(fā)布階段: 通過內(nèi)灰,外灰,渠道包全量,站內(nèi)全量實(shí)現(xiàn)發(fā)布上線
Ⅲ 分支管理
原則: 基于分支開發(fā),基于主干發(fā)布

(一)變更操作流程
- 創(chuàng)建變更
- 選擇倉庫,基于 Master 創(chuàng)建分支
- 在分支上打工程包,打安裝包,自測(可以基于變更分支創(chuàng)建 feature 分支,并行開發(fā))
- 合并到 Master 打包、提測
- 申請(qǐng)集成、發(fā)布
(二)獨(dú)立發(fā)布
主要用做區(qū)別于日常變更的獨(dú)立發(fā)布迭代,比如單獨(dú)針對(duì)某個(gè)廠商做的預(yù)裝包適配迭代,就適用于獨(dú)立發(fā)布。
(三)多App管理(雙Master)
使用場景:聚寶、香港支付寶、口碑、支付寶共用同一個(gè)代碼倉庫,同一代碼庫需要多app并行,需要有自己獨(dú)立的master分支,在合并的時(shí)候,在不同的app端進(jìn)行多主干的合并。
Ⅳ 線上運(yùn)維
(一)多維度灰度發(fā)布能力
MDS提供多維度的發(fā)布模式,發(fā)布前需要經(jīng)過白名單灰度,內(nèi)部灰度,外部灰度,百分比灰度等多層次灰度,不斷擴(kuò)大灰度范圍,直到Crash率,ANR率等穩(wěn)定性指標(biāo)達(dá)標(biāo)后才進(jìn)行全量的發(fā)布。
(二)多角度線上監(jiān)控
MAS提供了多角度的實(shí)時(shí)監(jiān)控指標(biāo)監(jiān)控,包括Crash率,ANR率等核心指標(biāo),同時(shí)這些核心的指標(biāo)上報(bào)都是通過實(shí)時(shí)通道完成的上報(bào),方便問題的快速發(fā)現(xiàn)。
(三)輿情監(jiān)控
除了以上一些核心指標(biāo)的監(jiān)控,同時(shí)提供了輿情的監(jiān)控平臺(tái),開發(fā)者可以設(shè)置自己關(guān)注的關(guān)鍵字,在灰度期間去查看相關(guān)產(chǎn)品的線上用戶輿情,真實(shí)的反饋用戶問題。
(四)線上問題定位
通過上述的多渠道發(fā)現(xiàn)問題后,首先可以通過客戶端上報(bào)的行為日志進(jìn)行分析,同時(shí)也可以通過MAS提供的日志拉取功能,拉取用戶的詳細(xì)日志進(jìn)行進(jìn)一步的診斷分析。
(五)自動(dòng)容災(zāi)降級(jí)
在積累了多年的客戶端問題處理經(jīng)驗(yàn)后,客戶端SDK內(nèi)部也沉淀了一套自恢復(fù)的容災(zāi)降級(jí)策略。比如對(duì)于多次啟動(dòng)后重復(fù)閃退的用戶,客戶端會(huì)嘗試在啟動(dòng)后清除app私有目錄下的一些文件,解決由于臟數(shù)據(jù)導(dǎo)致的極端重復(fù)閃退。
(六)線上問題修復(fù)
針對(duì)不同的問題提供了不同的能力實(shí)現(xiàn)動(dòng)態(tài)修復(fù),比如對(duì)Native模塊實(shí)現(xiàn)動(dòng)態(tài)修復(fù)的hotpatch機(jī)制。
作者: 榮陽
來源:微信公眾號(hào):mPaaS
出處:https://mp.weixin.qq.com/s?__biz=MzUyMDk2MzUzMQ==&mid=2247485848&idx=1&sn=58511dd9124f12e75f3a942d4c1fbc41