当前位置:主页 > 查看内容

mPaas研发和线上运维流程介绍

发布时间:2021-08-15 00:00| 位朋友查看

简介:一 背景 ? ?金融级移动开发平台 mPaaS Mobile PaaS 为 App 开发、测试、运营及运维提供云到端的一站式解决方案 能有效降低技术门槛、减少研发成本、提升开发效率 协助企业快速搭建稳定高质量的移动应用。在我们日常运维过程中发现 大部分用户对蚂蚁的研发流……


一 背景

? ?金融级移动开发平台 mPaaS Mobile PaaS 为 App 开发、测试、运营及运维提供云到端的一站式解决方案 能有效降低技术门槛、减少研发成本、提升开发效率 协助企业快速搭建稳定高质量的移动应用。在我们日常运维过程中发现 大部分用户对蚂蚁的研发流程比较感兴趣 特别是在上百个开发者同时在一个app的环境内进行高效开发 技术选型、研发流程还有线上运维是怎么做的 成为大家关注的重点。以下分享我的一些理解。

二 技术选型

目前研发模式分为Native模式和动态化模式两种 其中Native技术栈主要覆盖基础中间件 还有核心高保链路或者变更很少的一些基础页面 比如收银台 登录页面 付款码等。其他场景业务一般会通过动态化的方式 解耦客户端版本发布。其中 在线H5一般适用于活动营销活动 离线包场景一般用于有固定入口的常驻业务 如果有跨端多投场景 一般会选择小程序 通过小程序的跨端发布实现多端投放。

image

三 研发流程

image

1.需求阶段 主要是需求评审 大家意见达成一致。

2.开发阶段 代码开发 代码合并以及打包等

3.测试阶段 测试案例的编写 功能测试 兼容性测试等

4.集成阶段 代码改动申请进对应的集成基线,进行集成验证

5.发布阶段: 通过内灰 外灰 渠道包全量 站内全量实现发布上线


四 分支管理

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

image


1. 变更操作流程创建变更选择仓库 基于 Master 创建分支在分支上打工程包 打安装包 自测 可以基于变更分支创建 feature 分支 并行开发 合并到 Master 打包、提测申请集成、发布2. 独立发布

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

3. 多App管理(双Master)

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


五 线上运维1. 多维度灰度发布能力

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

2. 多角度线上监控

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

3. 舆情监控

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

4. 线上问题定位

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

5. 自动容灾降级

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

6. 线上问题修复

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


本文转自网络,原文链接:https://developer.aliyun.com/article/787026
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!
上一篇:阿里云ECS使用感受 下一篇:没有了

推荐图文


随机推荐