渐进式发布
复制一个包含安装步骤和本插件的完整 Markdown 指南的配置提示。
一个渐进式发布会保留一个频道的 稳定包 在部署另一个更新的同时,保持当前更新 发布目标 将更新推送到一个受控的设备子集上。它在您想要在一次切换整个频道之前进行真实生产验证时非常有用。

渐进式发布的工作原理
如何渐进式发布工作每个频道都可以有两个包链接:
- 稳定包 — 分配给频道的正常包。
- 发布目标 ——逐渐发布的候选包。
发布需要稳定的包。 在控制台中,选择稳定的包之前,分配目标;在公共API中,一个现有的频道可以提供 version 并 rolloutVersion 在同一个POST请求中。Capgo为每个符合条件的设备做出随机决定,然后使用设备ID和发布ID的哈希值缓存它。 这样做使得同一设备的分组在缓存有效期内保持不变,而不是每次更新检查时都改变。
百分比变化
百分比变化Capgo在可以的情况下保留现有的决策:
- 增加百分比 —— 已选中的设备保持选中状态;仅有之前未选中的设备中的随机子集被添加。
- 降低百分比 —— 已选中的设备子集中的随机设备返回到稳定版本。
- 设置百分比为 0% —— 不会选择新的设备。已启用滚动目标的设备继续接收该目标,直到您禁用、回滚或更改目标。
- 暂停 —— 停止新设备进入,已运行启用目标的设备继续接收该目标。
- 禁用 —— 停止解析滚动目标;更新检查使用稳定版本。
运行滚动
标题:运行滚动- 上传并将测试版本作为频道的稳定版本分配。
- 上传候选包而不替换稳定包。
- 打开频道的 信息 选项卡,设置候选包为 目标,选择一个小百分比,并启用滚动。
- 在 观察, 日志中监控滚动,并查看频道历史。只在小分组健康后才增加百分比。
- 当它准备好时,促进目标升级为稳定。如果它不健康,暂停或回滚。
CLI示例
CLI 示例开始一个分发包 1.3.0 5%:
npx @capgo/cli@latest channel set production com.example.app \ --rollout-bundle 1.3.0 \ --rollout-percentage 5 \ --rollout-enable增加它而不重新配置已经选择的设备:
npx @capgo/cli@latest channel set production com.example.app \ --rollout-percentage 25可以在一个步骤中将上传包设置为分发目标,仅当频道已经有一个稳定的包时:
npx @capgo/cli@latest bundle upload com.example.app \ --path ./dist \ --channel production \ --rollout 5查看完整 频道 CLI 参考 和 包 CLI 参考 为每个发布选项。
暂停、回滚或推进
标题:暂停、回滚或推进| 动作 | 它做什么 |
|---|---|
| 暂停 | 停止新设备进入发布。已启用目标的设备保持不变。 |
| 恢复 | 允许新合格设备再次进入。 |
| 关闭 | 停止解析回滚目标并使用稳定包。 |
| 回滚 | 清除目标,禁用回滚,重置百分比为 0%,并将设备返回到稳定状态。 |
| 推广 | context: Capgo 营销网站页面。角色:部分或页面标题。位置:页面 affiliate.astro。消息关键字 `affiliate_step2_title` (Affiliate Step2 Title)。 |
将回滚目标设置为稳定包,然后清除回滚状态。
# Stop adding devices while you investigatenpx @capgo/cli@latest channel set production com.example.app --rollout-pause
# Make the candidate stable for everyonenpx @capgo/cli@latest channel set production com.example.app --rollout-promote
# Discard the candidate and return to stablenpx @capgo/cli@latest channel set production com.example.app --rollout-rollback复制到剪贴板
保持目标包可用,直到您推广它或回滚它。作为稳定包或回滚目标链接的包将被保护免于删除。
自动暂停策略Capgo 每五分钟可以评估一次启用的滚动部署,并在其失败信号超过您的阈值时采取行动。它测量滚动部署目标在所选频道和时间窗口中的安装和失败次数,然后使用威尔逊置信下限,而不是原始失败率。
自动暂停默认禁用。配置这些字段在频道的 信息 tab 或使用 channel set:
- 失败率阈值 以基点(
500= 5%)。阈值是触发策略所需的。 - 时间窗口 分钟(默认值:60)。
- 置信度 之间
0和1(默认:0.95). - 可选的最小尝试次数和失败次数,以避免基于小样本的操作。
- 冷却 分钟(默认:60),防止重复操作。
- 动作:
pause,rollback,或notify.
pause 停止新发布的曝光 rollback 清除目标并返回稳定状态,并 notify 发送发布警报而不改变发布分发。
npx @capgo/cli@latest channel set production com.example.app \ --auto-pause-enabled \ --auto-pause-failure-rate-bps 500 \ --auto-pause-window-minutes 60 \ --auto-pause-confidence 0.95 \ --auto-pause-min-attempts 100 \ --auto-pause-min-failures 5 \ --auto-pause-action pause \ --auto-pause-cooldown-minutes 120API 和控制台控制
API和控制台您可以通过 公共频道API 或控制台:
- 打开一个应用,然后 频道.
- 上下文:Capgo发布频道功能名称。页面/区域:Capgo解决方案营销页面。角色:短的UI标签或导航项。见于:页面解决方案/白标签.astro。消息键`solutions_white_label_visual_cell2_value`(解决方案白标签视觉单元2值)。
- 选择频道。 打开.
- 信息 使用 渐进式发布