蚂蚁研发流程大公开:上百个开发者也能同时在一个 App 环境内进行高效开发
在日常運維過程中發現,我們大部分用戶對螞蟻的研發流程比較感興趣,特別是在上百個開發者同時在一個app的環境內進行高效開發,技術選型、研發流程還有線上運維是怎么做的,成為大家關注的重點。以下分享我的一些理解。
Ⅰ 技術選型
目前研發模式分為 Native 模式和動態化模式兩種,其中Native技術棧主要覆蓋基礎中間件,還有核心高保鏈路或者變更很少的一些基礎頁面,比如收銀臺,登錄頁面,付款碼等。
其他場景業務一般會通過動態化的方式,解耦客戶端版本發布。其中,在線H5一般適用于活動營銷活動,離線包場景一般用于有固定入口的常駐業務,如果有跨端多投場景,一般會選擇小程序,通過小程序的跨端發布實現多端投放。
Ⅱ 研發流程
1.需求階段:主要是需求評審,大家意見達成一致。
2.開發階段:代碼開發,代碼合并以及打包等
3.測試階段:測試案例的編寫,功能測試,兼容性測試等
4.集成階段:代碼改動申請進對應的集成基線,進行集成驗證
5.發布階段: 通過內灰,外灰,渠道包全量,站內全量實現發布上線
Ⅲ 分支管理
原則:基于分支開發,基于主干發布
(一)變更操作流程
1.創建變更
2.選擇倉庫,基于 Master 創建分支
3.在分支上打工程包,打安裝包,自測(可以基于變更分支創建 feature 分支,并行開發)
4.合并到 Master 打包、提測
5.申請集成、發布
(二)獨立發布
主要用做區別于日常變更的獨立發布迭代,比如單獨針對某個廠商做的預裝包適配迭代,就適用于獨立發布。
(三)多App管理(雙Master)
使用場景:聚寶、香港支付寶、口碑、支付寶共用同一個代碼倉庫,同一代碼庫需要多app并行,需要有自己獨立的master分支,在合并的時候,在不同的app端進行多主干的合并。
Ⅳ 線上運維
(一)多維度灰度發布能力
MDS提供多維度的發布模式,發布前需要經過白名單灰度,內部灰度,外部灰度,百分比灰度等多層次灰度,不斷擴大灰度范圍,直到Crash率,ANR率等穩定性指標達標后才進行全量的發布。
(二)多角度線上監控
MAS提供了多角度的實時監控指標監控,包括Crash率,ANR率等核心指標,同時這些核心的指標上報都是通過實時通道完成的上報,方便問題的快速發現。
(三)輿情監控
除了以上一些核心指標的監控,同時提供了輿情的監控平臺,開發者可以設置自己關注的關鍵字,在灰度期間去查看相關產品的線上用戶輿情,真實的反饋用戶問題。
(四)線上問題定位
通過上述的多渠道發現問題后,首先可以通過客戶端上報的行為日志進行分析,同時也可以通過MAS提供的日志拉取功能,拉取用戶的詳細日志進行進一步的診斷分析。
(五)自動容災降級
在積累了多年的客戶端問題處理經驗后,客戶端SDK內部也沉淀了一套自恢復的容災降級策略。比如對于多次啟動后重復閃退的用戶,客戶端會嘗試在啟動后清除app私有目錄下的一些文件,解決由于臟數據導致的極端重復閃退。
(六)線上問題修復
針對不同的問題提供了不同的能力實現動態修復,比如對Native模塊實現動態修復的hotpatch機制。
- 辛苦開發的 App 被山寨?mPaaS 幫你為 APK 上把加固鎖
- 搞定客戶端證書錯誤,看這篇就夠了
- mPaaS-RPC 攔截器各種場景下的使用指南
原文鏈接:https://developer.aliyun.com/article/776784?
版權聲明:本文內容由阿里云實名注冊用戶自發貢獻,版權歸原作者所有,阿里云開發者社區不擁有其著作權,亦不承擔相應法律責任。具體規則請查看《阿里云開發者社區用戶服務協議》和《阿里云開發者社區知識產權保護指引》。如果您發現本社區中有涉嫌抄襲的內容,填寫侵權投訴表單進行舉報,一經查實,本社區將立刻刪除涉嫌侵權內容。總結
以上是生活随笔為你收集整理的蚂蚁研发流程大公开:上百个开发者也能同时在一个 App 环境内进行高效开发的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AI和大数据下,前端技术将如何发展?
- 下一篇: 阿里打造全球首个纯机器人送货高校,22个