Skip to content

進行的ロールアウト

progressive rollout keeps a channel’s stable bundle progressive rollout keeps a channel’s stable bundle __CAPGO_KEEP_0__チャンネル内で実行中の別の __CAPGO_KEEP_0__チャンネルへのロールアウト対象 デバイスの制御されたサブセットにロールアウトする。実際の生産検証を行うには、すべてのチャンネルを一度に切り替える必要がないため、便利です。

Capgoチャンネルの進行的ロールアウトの制御
__CAPGO_KEEP_0__チャンネルの情報タブからロールアウトの対象、割合、キャッシュ期間、自動停止ポリシーを設定できます。

各チャンネルには2つのバンドルリンクがあります。

  • 安定バンドル — チャンネルに割り当てられた通常のバンドルです。
  • ロールアウト対象 — 逐次的にリリースされる候補バンドルです。

A rollout needs a stable bundle. In the dashboard, assign the stable bundle before choosing the target; with the Public API, an existing channel can supply versionrolloutVersion Capgoは、エラブルデバイスごとにランダムな決定を下し、デバイスIDとロールアウトIDのハッシュを使用してキャッシュします。これにより、指定されたキャッシュ期間でコホートが固定的になり、更新チェックごとに変更されなくなります。

パーセンテージの変化

パーセンテージの変化

Capgoは既存の決定を保存します。

  • パーセンテージを増やす — 既に選択されたデバイスは選択されますが、ランダムに選択されたデバイスのみが追加されます。
  • パーセンテージを減らす — 有効なコホートからランダムに選択されたサブセットが安定バンドルに戻る。
  • 0% に設定 — 新しいデバイスが選択されません。有効なロールアウトのターゲットを実行しているデバイスは、無効化、ロールバック、またはターゲットの変更までそのターゲットを受け続けます。
  • 一時停止 — 新しいデバイスがエントリーしないように停止し、既に有効なターゲットを実行しているデバイスはそのターゲットに残ります。
  • 無効化 — ロールアウトのターゲットを解決せず、安定バンドルを使用する更新チェックになります。

ロールアウト実行

「ロールアウト実行」
  1. テスト済みバンドルをチャンネルの安定バンドルとしてアップロードおよび割り当てます。
  2. 安定バンドルを置き換えずに候補バンドルをアップロードします。
  3. チャンネルの 情報 タブを選択して候補を設定します。 対象小さなパーセンテージを選択し、ロールアウトを有効にします。
  4. ロールアウトを監視する 観察, ログインサイトチャンネル履歴も確認します。コホートが健康な状態になるときにのみパーセンテージを増やします。
  5. 対象が準備できたら、Stableに昇格します。健康でない場合は、停止またはロールバックします。

バンドルのロールアウトを開始します 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

チャンネルにすでに安定したバンドルがある場合、1 つのステップでアップロードをロールアウトのターゲットとして設定できるアップロードコマンドが用意されています:

ターミナル ウィンドウ
npx @capgo/cli@latest bundle upload com.example.app \
--path ./dist \
--channel production \
--rollout 5

詳細は チャンネル CLI リファレンス を参照してください bundle CLI reference すべてのロールアウトオプションに対して。

一時停止、ロールバック、またはプロモート

「一時停止、ロールバック、またはプロモート」のセクション
アクションその効果
一時停止新しいデバイスがロールアウトに参加するのを停止します。既に有効なターゲットにいるデバイスはそのままです。
再開新しいエリジブルデバイスが再び参加できるようにします。
無効ロールアウトのターゲットを解決せずに安定バンドルを使用します。
ロールバックターゲットをクリアし、ロールアウトを無効化し、パーセンテージを0%にリセットし、デバイスを安定状態に戻します。
プロモート安定バンドルをターゲットにし、ロールアウト状態をクリアします。

1つのターミナルアクションを使用してください:

ターミナルウィンドウ
# 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 は、有効なロールアウトを 5 分ごとに評価し、失敗信号が閾値を超えたときに行動します。ロールアウトターゲットのインストール数と失敗数を選択したチャンネルと時間枠で測定し、ウィルソン信頼下限を使用するのではなく、単に失敗率を使用するのではなく、ロールアウトターゲットのインストール数と失敗数を選択したチャンネルと時間枠で測定します。

自動停止はデフォルトで無効化されています。チャンネルの設定でこれらのフィールドを構成してください。 情報 タブまたはウィンドウ channel set:

  • 失敗率閾値 基準点(500 = 5%)。閾値はポリシーをトリガーするために必要です。
  • ウィンドウ 分(標準: 60)。
  • 信頼度0 (標準: 1 オプションの最小試行回数と失敗回数、サンプルが小さすぎる場合にアクションを実行しないようにする。 0.95).
  • __CAPGO_KEEP_0__
  • クールダウン __CAPGO_KEEP_0__ (デフォルト: 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 とダッシュボードの制御」

Section titled “API and dashboard controls”

You can manage the same feature through the __CAPGO_KEEP_0__ and dashboard controls. パブリック チャネル API またはダッシュボード:

  1. アプリを開きます、次に チャネル.
  2. チャネルを選択します。
  3. 開く 情報.
  4. 使用する 進歩的なロールアウト セクションで、ターゲット、パーセンテージ、キャッシュ期間、自動停止ポリシーを選択します。

一般的なチャネル ルーティングとデバイスの優先順位については、 チャネル__CAPGO_KEEP_0__ __CAPGO_KEEP_0__のロールアウト外での緊急バンドル回復については.