# 灰度发布

正式发布之前,可以通过白名单来做小规模发布(比如内部员工)以验证新包的功能是否达到预期。还可以进行时间窗灰度发布,在规定的时间段内发布给规定用户人数。如果达到预期就可以进行全网推送。

灰度发布可保证整体系统稳定性,在初始灰度的时候就可以发现、调整问题,影响范围可控。同时实现新功能逐步评估性能,稳定性和健康状况,如果出问题影响范围很小,相对用户体验也少。对于用户而言灰度无感知,过渡平滑。

GMU-APP开发平台的离线包发布功能支持白名单灰度和时间窗灰度两种灰度类型,开发者可根据当前版本的灰度目的选择合适的灰度类型,尽可能提高灰度发布的效率。

# 白名单灰度

# 添加白名单

白名单灰度以用户白名单为灰度条件,开发者可在开发平台的“实时发布”-“用户群管理”菜单中创建用户群并添加用户名单(添加用户名单前需先创建用户群,用户必须所属于某一个用户群)。

如果开发者需要一次性添加大量用户名单,可以使用名单导入功能,点击“导入名单”按钮并在弹出框中上传名单文件。

用户名单文件支持xlsx和json两种文件格式,两种文件格式的名单模板可在文件上传弹出框中下载。名单文件需符合白名单导入注意事项。

# 白名单配置

完成白名单添加后即可在离线包创建发布任务中基于用户白名单进行灰度发布。灰度发布类型选择白名单灰度时可在白名单配置中勾选期望收到发布的用户群,用户群支持多选。

# 时间窗灰度

时间窗灰度以持续时间和灰度两个维度为灰度条件,两个灰度条件中任意一个条件满足即停止发布。例如:设置持续时间为1小时,灰度人数为1000人,那么当时间到达1小时或人数到达1000人便会停止发布。

# 高级规则

除了基本的灰度发布类型,GMU-APP开发平台还提供了发布包版本号、机型、网络和设备系统版本号四种高级发布规则,高级规则可以与基本发布类型同时使用。比如针对所有开发人员使用WiFi网络的设备发布可以参考如下配置: