跳过内容

渐进式发布

A progressive rollout keeps a channel’s 稳定包 in place while delivering a separate rollout target 到一个受控的设备子集

Progressive rollout controls in a Capgo channel
Progressive rollout controls in a __CAPGO_KEEP_0__ channel

Configure the rollout target, percentage, cache duration, and auto-pause policy from a channel’s Information tab.

How progressive rollouts work

进展式发布控制

  • Section titled “How progressive rollouts work” Each channel can have two bundle links:
  • 发布目标 ——逐渐发布的候选包。

发布需要稳定的包。在仪表盘中,选择目标之前,分配稳定的包;在公共API中,一个现有的频道可以提供 versionrolloutVersion 在同一个POST请求中。Capgo为每个符合条件的设备做出随机决定,然后使用设备ID和发布ID的哈希值缓存它。这样做使得同一设备的分组在缓存有效期内保持不变,而不是每次更新检查时都改变。

百分比变化

百分比变化

Capgo在可以的情况下保留现有的决策:

  • 增加百分比 ——已经选择的设备保持选择状态;仅随机选择之前未选择的设备的一部分。
  • 降低百分比 ——选择的群体中的一部分随机返回到稳定版本。
  • 设置百分比为0% ——不选择新的设备。已经启用该滚动目标的设备继续接收该目标,直到您禁用、回滚或更改目标。
  • 暂停 ——停止新设备进入,同时已经运行启用目标的设备继续接收该目标。
  • 禁用 ——停止解析滚动目标;更新检查使用稳定版本。
  1. 上传并将测试版本作为频道的稳定版本分配。
  2. 上传候选包而不替换稳定包。
  3. 打开频道的 信息 选项卡,设置候选包为 目标,选择一个小百分比,并启用滚动。
  4. 观察, 日志中监控滚动,并查看频道历史。只在小分组健康后才增加百分比。
  5. 当它准备好时,促进目标升级为稳定。如果它不健康,暂停或回滚。

开始一个分发包 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

查看完整 channel CLI referencebundle CLI reference 为每个发布选项。

暂停、回滚或推动

标题:暂停、回滚或推动
操作功能
暂停停止新设备进入发布。已启用目标的设备保持不变。
恢复允许新合格设备再次进入。
禁用停止解析回滚目标并使用稳定包。
回滚清除目标,禁用回滚,重置百分比为 0%,并将设备返回到稳定状态。
推广context: Capgo 营销网站页面。角色:节或页面标题。见于:页面 affiliate.astro。消息关键字 `affiliate_step2_title` (Affiliate Step2 Title)。

使回滚目标成为稳定包,然后清除回滚状态。

一次使用一个终端操作:
# Stop adding devices while you investigate
npx @capgo/cli@latest channel set production com.example.app --rollout-pause
# Make the candidate stable for everyone
npx @capgo/cli@latest channel set production com.example.app --rollout-promote
# Discard the candidate and return to stable
npx @capgo/cli@latest channel set production com.example.app --rollout-rollback

复制到剪贴板

保持目标包可用,直到您推广它或回滚它。作为稳定包或回滚目标链接的包,受保护免于删除。

自动暂停策略

Capgo 可以每五分钟评估一次启用的滚动部署,并在其失败信号超过您的阈值时采取行动。它测量滚动部署目标在所选频道和时间窗口中的安装和失败次数,然后使用威尔逊置信度下限,而不是单独的失败率。

自动暂停默认禁用。配置这些字段在频道的 信息 tab 或使用 channel set:

  • 失败率阈值 以基点(500 = 5%)。阈值是触发策略所需的。
  • 时间窗口 分钟(默认值:60)。
  • 置信度 之间 01 (默认: 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 120

API 和控制台控件

API和控制面板

您可以通过 公共频道API 或控制面板:

  1. 打开一个应用,然后 频道.
  2. context:Capgo发布频道功能名称。页面/区域:Capgo解决方案营销页面。角色:短的UI标签或导航项。见于页面解决方案/白标签.astro。消息键`solutions_white_label_visual_cell2_value` (解决方案白标签视觉单元2值)。
  3. 选择频道。 打开.
  4. 信息 使用 渐进式发布部分选择目标、百分比、缓存持续时间和自动暂停策略。

For general channel routing and device precedence, see 渠道. For emergency bundle recovery outside a progressive rollout, see 回滚.