蚂蚁研发流程大公开:上百个开发者也能同时在一个 App 环境内进行高效开发

本文涉及的产品
mPaaS订阅基础套餐,标准版 3个月
简介: mPaaS 研发流程和线上运维介绍

在日常运维过程中发现,我们大部分用户对蚂蚁的研发流程比较感兴趣,特别是在上百个开发者同时在一个app的环境内进行高效开发,技术选型、研发流程还有线上运维是怎么做的,成为大家关注的重点。以下分享我的一些理解。

Ⅰ 技术选型

目前研发模式分为 Native 模式和动态化模式两种,其中Native技术栈主要覆盖基础中间件,还有核心高保链路或者变更很少的一些基础页面,比如收银台,登录页面,付款码等。

其他场景业务一般会通过动态化的方式,解耦客户端版本发布。其中,在线H5一般适用于活动营销活动,离线包场景一般用于有固定入口的常驻业务,如果有跨端多投场景,一般会选择小程序,通过小程序的跨端发布实现多端投放。

image.png

Ⅱ 研发流程

image.png

1.需求阶段:主要是需求评审,大家意见达成一致。
2.开发阶段:代码开发,代码合并以及打包等
3.测试阶段:测试案例的编写,功能测试,兼容性测试等
4.集成阶段:代码改动申请进对应的集成基线,进行集成验证
5.发布阶段: 通过内灰,外灰,渠道包全量,站内全量实现发布上线

Ⅲ 分支管理

原则:基于分支开发,基于主干发布

image.png

(一)变更操作流程

1.创建变更
2.选择仓库,基于 Master 创建分支
3.在分支上打工程包,打安装包,自测(可以基于变更分支创建 feature 分支,并行开发)
4.合并到 Master 打包、提测
5.申请集成、发布

(二)独立发布

主要用做区别于日常变更的独立发布迭代,比如单独针对某个厂商做的预装包适配迭代,就适用于独立发布。

(三)多App管理(双Master)

使用场景:聚宝、香港支付宝、口碑、支付宝共用同一个代码仓库,同一代码库需要多app并行,需要有自己独立的master分支,在合并的时候,在不同的app端进行多主干的合并。

Ⅳ 线上运维

(一)多维度灰度发布能力

MDS提供多维度的发布模式,发布前需要经过白名单灰度,内部灰度,外部灰度,百分比灰度等多层次灰度,不断扩大灰度范围,直到Crash率,ANR率等稳定性指标达标后才进行全量的发布。

(二)多角度线上监控

MAS提供了多角度的实时监控指标监控,包括Crash率,ANR率等核心指标,同时这些核心的指标上报都是通过实时通道完成的上报,方便问题的快速发现。

(三)舆情监控

除了以上一些核心指标的监控,同时提供了舆情的监控平台,开发者可以设置自己关注的关键字,在灰度期间去查看相关产品的线上用户舆情,真实的反馈用户问题。

(四)线上问题定位

通过上述的多渠道发现问题后,首先可以通过客户端上报的行为日志进行分析,同时也可以通过MAS提供的日志拉取功能,拉取用户的详细日志进行进一步的诊断分析。

(五)自动容灾降级

在积累了多年的客户端问题处理经验后,客户端SDK内部也沉淀了一套自恢复的容灾降级策略。比如对于多次启动后重复闪退的用户,客户端会尝试在启动后清除app私有目录下的一些文件,解决由于脏数据导致的极端重复闪退。

(六)线上问题修复

针对不同的问题提供了不同的能力实现动态修复,比如对Native模块实现动态修复的hotpatch机制。

作者名片-荣阳.jpg

延伸阅读.png

动态-logo.gif

底部banner.png

访问2020阿里巴巴双11技术全观专题页,了解更多关于2020双11的技术干货内容

相关文章
|
21天前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
328 7
|
21天前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
402 1
|
6天前
|
监控 安全 开发者
山东布谷科技:关于直播源码|语音源码|一对一直播源码提交App Store的流程及重构经验
分享提交直播源码,一对一直播源码,语音源码到Appstore的重构经验!
|
7天前
|
小程序 数据挖掘 UED
开发1个上门家政小程序APP系统,都有哪些功能?
在快节奏的现代生活中,家政服务已成为许多家庭的必需品。针对传统家政服务存在的问题,如服务质量不稳定、价格不透明等,我们历时两年开发了一套全新的上门家政系统。该系统通过完善信用体系、提供奖励机制、优化复购体验、多渠道推广和多样化盈利模式,解决了私单、复购、推广和盈利四大痛点,全面提升了服务质量和用户体验,旨在成为家政行业的领导者。
|
1月前
|
JavaScript 前端开发 小程序
uniapp一个人开发APP关键步骤和考虑因素
uniapp一个人开发APP关键步骤和考虑因素
96 1
uniapp一个人开发APP关键步骤和考虑因素
|
21天前
|
JavaScript 前端开发 UED
Vue与uni-app开发中通过@font-face巧妙引入自定义字体
Vue与uni-app开发中通过@font-face巧妙引入自定义字体
47 9
|
25天前
|
缓存 小程序 索引
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
133 1
|
4天前
|
机器人
布谷直播App系统源码开发之后台管理功能详解
直播系统开发搭建管理后台功能详解!
|
26天前
|
小程序 JavaScript API
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
这篇文章介绍了如何在uni-app和微信小程序中实现将图片保存到用户手机相册的功能。
413 0
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
|
1月前
|
安全 开发者 UED
APP上架到应用商店需要哪些流程?
APP上架是一个涉及多个步骤和准备工作的过程,主要包括准备上架资料和遵循上架流程两个方面。
72 1