共计 1543 个字符,预计需要花费 4 分钟才能阅读完成。
简介:金融级挪动开发平台 mPaaS(Mobile PaaS)为 App 开发、测试、经营及运维提供云到端的一站式解决方案,能无效升高技术门槛、缩小研发老本、晋升开发效率,帮助企业疾速搭建稳固高质量的挪动利用。在咱们日常运维过程中发现,大部分用户对蚂蚁的研发流程比拟感兴趣,特地是在上百个开发者同时在一个 app 的环境内进行高效开发,技术选型、研发流程还有线上运维是怎么做的,成为大家关注的重点。以下分享我的一些了解。
一 背景
金融级挪动开发平台 mPaaS(Mobile PaaS)为 App 开发、测试、经营及运维提供云到端的一站式解决方案,能无效升高技术门槛、缩小研发老本、晋升开发效率,帮助企业疾速搭建稳固高质量的挪动利用。在咱们日常运维过程中发现,大部分用户对蚂蚁的研发流程比拟感兴趣,特地是在上百个开发者同时在一个 app 的环境内进行高效开发,技术选型、研发流程还有线上运维是怎么做的,成为大家关注的重点。以下分享我的一些了解。
二 技术选型
目前研发模式分为 Native 模式和动态化模式两种,其中 Native 技术栈次要笼罩根底中间件,还有外围高保链路或者变更很少的一些根底页面,比方收银台,登录页面,付款码等。其余场景业务个别会通过动态化的形式,解耦客户端版本公布。其中,在线 H5 个别实用于流动营销流动,离线包场景个别用于有固定入口的常驻业务,如果有跨端多投场景,个别会抉择小程序,通过小程序的跨端公布实现多端投放。
三 研发流程
1. 需要阶段:次要是需要评审,大家意见达成统一。
2. 开发阶段:代码开发,代码合并以及打包等
3. 测试阶段:测试案例的编写,功能测试,兼容性测试等
4. 集成阶段:代码改变申请进对应的集成基线, 进行集成验证
5. 公布阶段: 通过内灰,外灰,渠道包全量,站内全量实现公布上线
四 分支治理
准则:基于分支开发,基于骨干公布
1. 变更操作流程
创立变更
抉择仓库,基于 Master 创立分支
在分支上打工程包,打安装包,自测(能够基于变更分支创立 feature 分支,并行开发)
合并到 Master 打包、提测
申请集成、公布
- 独立公布
次要用做区别于日常变更的独立公布迭代,比方独自针对某个厂商做的预装包适配迭代,就实用于独立公布。
- 多 App 治理(双 Master)
应用场景:聚宝、香港支付宝、口碑、支付宝共用同一个代码仓库,同一代码库须要多 app 并行,须要有本人独立的 master 分支,在合并的时候,在不同的 app 端进行多骨干的合并。
五 线上运维
1. 多维度灰度公布能力
MDS 提供多维度的公布模式,公布前须要通过白名单灰度,外部灰度,内部灰度,百分比灰度等多层次灰度,不断扩大灰度范畴,直到 Crash 率,ANR 率等稳定性指标达标后才进行全量的公布。
2. 多角度线上监控
MAS 提供了多角度的实时监控指标监控,包含 Crash 率,ANR 率等外围指标,同时这些外围的指标上报都是通过实时通道实现的上报,不便问题的疾速发现。
3. 舆情监控
除了以上一些外围指标的监控,同时提供了舆情的监控平台,开发者能够设置本人关注的关键字,在灰度期间去查看相干产品的线上用户舆情,实在的反馈用户问题。
4. 线上问题定位
通过上述的多渠道发现问题后,首先能够通过客户端上报的行为日志进行剖析,同时也能够通过 MAS 提供的日志拉取性能,拉取用户的具体日志进行进一步的诊断剖析。
5. 主动容灾降级
在积攒了多年的客户端问题解决教训后,客户端 SDK 外部也积淀了一套自复原的容灾降级策略。比方对于屡次启动后反复闪退的用户,客户端会尝试在启动后革除 app 公有目录下的一些文件,解决因为脏数据导致的极其反复闪退。
6. 线上问题修复
针对不同的问题提供了不同的能力实现动静修复,比方对 Native 模块实现动静修复的 hotpatch 机制。
原文链接
本文为阿里云原创内容,未经容许不得转载。