发布dexpatch

Dexpatch发布

DEXPATCH类型发布单包含6个步骤,如下图所示。后面步骤依赖前面步骤结果,请按照指示顺序依次执行。

发布

STEP1. 变更管理

管理本次发布想要变更的模块。模块变更类型有两种:· 源码变更:APP自身管理的业务模块源代码修改升级。如BizModule·依赖变更:依赖的外部二方或者三方库的版本升级。如Fastjson 点击【新建变更】,弹出滑层,选择源码变更类型

image.png | center | 692x394

【源码变更】选择一个模块后,模块的基本信息显示出来,源码变更可以的信息:【分支】源代码对应的仓库分支【版本】模块对应的sdk 发布版本【说明】本次变更的内容简要说明

image.png | center | 692x396

【外部依赖变更】只能编辑 版本和 描述 字段,其它需保持不变。【版本】可以去对应的SDK仓库查询【说明】本次变更的内容简要说明

image.png | center | 692x394

注意:技术上一个模块对应一个Bundle,分为主Bundle 和 普通Bundle,主Bundle依赖的模块可以添加多个变更。普通Bundle只能添加一个模块变更。

STEP2. 编译构建

模块添加完成,点击TAB 【编译构建】-【立刻构建】,则开始构建。通过“编译状态”和“实时日志” 查看当前构建进度。

image.png | center | 692x396

STEP3. 构建灰度包

切换到TAB【构建灰度包】,灰度包Patch只包含本次变更的内容点击【构建灰度包】,等待构建结束。构建成功后,结果下图所示。

image.png | center | 692x436

扫码测试Patch使用指定的容器版本APP扫码下载Patch,重启APP 验证Patch是否生效。验证通过点击【确认测试通过】可进入下一步骤:【灰度发布】(验证不通过,查找原因,可返回【变更管理】做相应修改,再到【构建编译】重新构建。)

image.png | center | 692x385

STEP4. 灰度发布

切换到TAB【灰度发布】,确认当前“发布包“没有问题,点击【新建灰度发布】。

image.png | center | 692x370

新建灰度发布滑层中,输入灰度人数,设定时间,确定。通知数定义:计划:预计推送Patch到达的设备数实际:当前成功下载Patch的设备数(不一定成功加载生效)

image.png | center | 692x393

image.png | center | 692x380

灰度过程OK,观察Crash无异常,点击【确认正式发布】进入下一步骤。

image.png | center | 692x352

STEP5. 构建正式包

切换到【构建正式包】,正式包构建流程和【构建灰度包】一致,但是打包产物不一致。正式包会带上容器版本上已经发布的全部PATCH信息。

image.png | center | 692x375

STEP6. 正式发布

切换到【正式发布】TAB 点击【新增发布】,创建推送批次。正式发布建议遵循先【阶梯灰度】再【全量】的实践建议。

image.png | center | 692x394

观察当前版本的Crash等数据,如果发现补丁异常,选择【终止】操作。终止后,当前补丁会停止下发,已经下发的补丁依然生效。(注意:若要撤回使已经下发的补丁,建议定位问题,重新发布补丁来覆盖。客户端只加载最高版本补丁)

image.png | center | 692x388