概述
Native DevOps,遵循了 DevOps 标准,定义了移动应用研发领域真正的 DevOps 研发模式,提供覆盖 App 研发全部生命周期的研发支撑服务。
产品特性
- 一站式移动研发服务,丰富全面
研发环境提供架构治理方案、规范交付产物、标准化基础配置信息,提升研发效率规范研发流程;测试阶段提供 Crash 数据、智能 Monkey 服务、结合流程的卡口配置等,全面保障质量;发布阶段支持多维度灰度策略,发布过程直观可控;运维阶段提供 APM 服务和热修复方案,支持大胆试错;运营阶段,提供舆情分析、用户消息推送,提升业务效率。
- 各服务独立、灵活、热插拔,开箱即用
Native DevOps 覆盖移动研发全生命周期,在不同环节提供一些列基础必选服务和进阶可选服务。让用户可以根据自己的实际情况,通过服务设置,定义专属于自己的工作流程和规范。
- 支持多人协作多个项目并发的研发模式
针对多人协作多个项目并发的研发模式,EMAS 的容器化插件能更好地协助你完成多模块的工程管理和研发,在研发期间解耦,提升研发效率,通过集成区管控,将合理有效地保障研发流程顺利开展。
- 丰富的灰度发布策略和完善的数据监控
在发布期间解耦,做到动态化发布业务模块,并配以丰富灰度发布策略,结合平台,实时观察稳定性数据,实现高效、过程可控、高质量的版本发布。
- 通过阿里集团数百个不同规模客户端验证沉淀的研发模式和质量保障体系
我们将阿里集团客户端研发模式和经验通过 EMAS 平台沉淀下来,通过平台的流程、服务,输出针对不同规模 App 的移动研发最佳实践经验。针对质量保证,平台支持在“开发>集成>发布”的环节自定义工作流和质量控制卡口,你可以根据企业现状配置适合自己的自动化流程和研发模式。
业务流程
Native DevOps覆盖移动研发部分全部生命周期,助你高效开发高质量的 App。
主要功能
- 项目
在 EMAS 中,我们定义项目为一个容器,用户可以在自己的项目空间内做编译构建、静态扫描、自动化测试、提交集成、发布等操作;
- 变更管理
针对拆分成多模块的且通过平台做模块管理的 App,每一个变更对应到该 App 下一个子模块的代码变化,不同用户可以在各自不同的项目中通过添加变更完成自己负责部分的代码开发、测试等,不受其他并行开发项目的影响。
- 编译构建
EMAS 在每个用户的项目空间中提供编译构建服务,完成初始化配置后,每次只需点击立即构建,就会构建出用户需要的客户端包或其他 aar、jar、framework 等中间产物。
- 依赖管理
针对拆分成多模块的且通过平台做模块管理的 App,依赖管理是 EMAS 平台管理工程构建依赖的核心,依赖管理对应了该应用下所有子模块的名称与版本号一一对应关系的唯一配置文件,当前项目构建 App 时会以“项目变更+所选依赖管理的配置”为一份基础依赖用以构建,支持切换依赖以构建出不同配置的 App。
- 静态扫描
EMAS 在每个用户的项目空间中提供静态代码扫描的服务,项目中的每次构建都会触发扫描执行,并对比规则配置将发现的问题记录为缺陷用以跟踪解决。
- 自动化测试
EMAS 在每个用户的项目空间中提供自动化测试的服务,默认的服务为 http 回调,当用户在当前项目的构建工作流中配置了 http 回调服务会在构建成功后触发回调执行。你可以将需要构建后触发的其他业务 http 请求地址做为回调地址触发。
- 集成单
针对拆分成多模块的且通过平台做模块管理的 App,EMAS 提供了一套集成管理回归管控的流程,确保多个项目并行开发同时高效集成发布。集成单是将用户项目中的变更传递到集成区做发布的唯一载体。
- 集成区
在 EMAS 中,集成区是一个特殊的项目空间,也是一个容器,主要是针对已经拆分成多模块的客户端应用,提供子模块们集成过程管控、编译构建等服务;同时为发布单提供基线数据。
- 发布单
EMAS 提供客户端发布服务,同时支持 iOS 和 Andriod 客户端的发布包构建、自动化测试和集成回归、发布包推送至 CDN、更新推送至用户端和发布记录的归档。
- 动态部署
Atlas 是一个 Android 客户端容器化框架,主要提供了组件化、动态性、解耦化的支持。支持工程师在工程编码期、Apk 运行期以及后续运维修复期的各种问题。
结合 EMAS 提供的容器化方案和平台功能,你可以针对模块在用户无感知的情况下做独立的动态更新,每次只发布差量的 patch 包,同时支持发布回滚。组件化和高度解耦的工程架构,也有助你高效地完成协同开发。
- 更新推送
将发布包推送到用户手机端的过程,EMAS 平台定义为更新推送。在推送过程中,你可以自己定义发送时间、发送量、发给谁,支持强制更新、提示更新、静默更新等不同更新策略,支持 IP、品牌、机型、OS、网络、设备唯一ID、排除特定品牌机型、白名单等过滤条件进行精准推送。
开始使用
Native DevOps是移动研发平台EMAS的子产品
EMAS包含如下服务
分组 | 服务 | 文档 |
---|---|---|
DevOps | Native DevOps | 文档 |
DevOps | 跨平台 DevOps | 文档 |
网络服务 | 移动API网关 | 文档 |
网络服务 | 通道服务 | 文档 |
网络服务 | 远程配置 | 文档 |
测试运维 | 移动APM | 文档 |
测试运维 | 移动测试 | 文档 |
测试运维 | 移动热修复 | 文档 |
用户运营 | 移动数据分析 | 文档 |