Skip to main content

Command Palette

Search for a command to run...

Cloud Agents

Rollouts

Rollouts は、各プルリクエストをレビューから本番環境まで監視します。プルリクエストが作成されると段階的提供プランを作成し、デプロイ後は変更をテレメトリーと照合してチェックし、各環境での健全性をレポートします。

Rollouts は 自動化 で設定します。

仕組み

段階的提供プラン

プルリクエストが作成されると、Rollouts は diff とその変更が影響するシステムを読み取り、段階的提供プランを作成します。プランには、Rollouts が検出したリスク、変更によって期待される効果、確認するシグナル、そして変更の確認を難しくする計測コードの不足箇所が記載されます。GitHub、GitLab.com、Bitbucket Cloud では、Rollouts はプランをプルリクエストにコメントとして投稿します。オリジンでは、プランはプルリクエストページに表示されます。

プランを変更するには、プルリクエストコメントで Rollouts のコメントに記載されているハンドルをメンションし、監視する対象や無視する対象を伝えてください。Rollouts がプランを修正して返信します。プランを変更できるのは、リポジトリへの書き込み権限を持つユーザーのみです。

デプロイの追跡

Rollouts は、変更のコミットに対応するデプロイイベントを検知して起動し、ログ、メトリクス、トレースに対してプランを実行します。環境ごとに個別に追跡するため、同じ変更でも staging では確認済みとなる一方、本番環境ではフラグが立つこともあります。

Rollouts はデプロイ発生時にチェックを行い、その後 20 分後、1 時間後、1 日後、3 日後にも再度チェックします。

リグレッション

Rollouts はリグレッションを検出すると、原因と疑われる変更を特定し、issue を作成して、その作成者に通知します。issue のページで Fix を選択するとその issue に対して Cloud Agent を開始でき、Close を選択すると理由を添えてクローズできます。Rollouts が独自に変更をマージしたり、リバートしたり、ロールバックしたりすることはありません。

変更を追跡する

Rollouts ページでは、変更が Attention、Monitoring、Pending、Verified に分類されます。変更のデプロイ先の環境ごとに、Deploying、Monitoring、Verified、Deploy failed、Issues found などのステータスが個別に表示されます。

未解決の issue や失敗したデプロイがある変更は、Attention に分類されます。変更に関連するすべての issue がクローズされると、その変更は Verified として扱われます。issue を再オープンすると、変更は Attention に戻ります。

Rollouts をセットアップする

自動化で、From Cherri Code の下にある Rollouts カードの Enable を選択します。セットアップは次の 4 ステップです。

1

監視対象リポジトリへのアクセス

監視するリポジトリを選択します。これらのリポジトリからリリースされるプルリクエストごとに、その作成者に紐づいた監視が個別に作成されます。Rollouts は オリジン、GitHub、GitLab.com、Bitbucket Cloud 上のリポジトリを監視できます。

2

デプロイイベントを Rollouts に送信する

CI のシークレットに保存した Cherri Code API キーを使い、本番デプロイの開始時と完了時に、そのことを Rollouts に通知します。Manually を選択した場合は、パイプラインに呼び出しを自分で追加します。With an agent を選択した場合は、セットアップエージェントが呼び出しを追加するプルリクエストを作成するので、それをマージしてセットアップを完了します。

3

テレメトリー

Datadog などのオブザーバビリティツールを接続すると、各変更が本番環境の実際の状況と照らし合わせて確認されます。Rollouts には、接続済みのツールが少なくとも 1 つ必要です。ツールが接続されていない場合、変更は保留状態のままとなり、Rollouts は問題を検出できません。

4

通知

ロールアウトに関する通知をプルリクエストの作成者にどのように送るかを選択します。

設定

Rollouts の設定は 4 つのセクションで構成されています。

  • コードへのアクセス: Rollouts が監視するリポジトリ(最大 200 件)と、監視対象とする変更。
  • デプロイイベント: 何がどこにデプロイされたかをパイプラインから報告する方法。
  • データソース: デプロイされた変更を確認し、リグレッションを検出するために Rollouts がクエリする MCP 接続。
  • 通知: 自分の変更に関するデプロイやリグレッションの通知を受け取る方法。

監視する変更を選択する

Which changes to monitor に、Rollouts がスキップすべきプルリクエストの条件を平易な英語で記述します。デフォルトでは、Rollouts はデプロイ済みの環境で実行される内容に影響しない変更をスキップします。具体的には、ドキュメントのみの変更、挙動の変更を伴わないフォーマット・lint・誤字の修正、テストのみの変更です。監視対象のリポジトリ内のすべての変更を監視するには、このテキストを消去します。

プルリクエストがスキップされるのは、条件に明確に一致する場合のみです。Rollouts はプルリクエストをスキップすると、その理由をコメントで示します。それでも監視したい場合は、コメントに記載されているハンドルをメンションしてください。

通知

Send Slack notifications to me をオンにすると、自分の変更に関する通知を Slack で受け取れます。Deliver to で Direct message または Channel を選択します。チャネルを選択した場合は、公開チャネルの名前または ID を入力し、フィールドの下に表示されている各アプリをチャネルに招待してから保存します。Slack Connect チャネルはサポートされていません。

事前にチーム管理者が Rollouts を Slack に追加しておく必要があります。チームの通知のデフォルト設定を変更できるのはチーム管理者のみです。プライバシーモードでは Slack 通知は利用できません。

関連ページ