mcpField
L
launchdarkly-guarded-rollout

launchdarkly-guarded-rollout

github.com/launchdarklyクラウド・DevOps282.7k 回インストール1 日前に更新
リポジトリ

launchdarkly-guarded-rollout について

LaunchDarkly のガード付きロールアウトを計画して開始するスキルです。設定済みの LaunchDarkly MCP サーバーを使い、段階、監視指標、回帰しきい値、対応策の設定を案内します。

主な機能

  1. 01フラグと利用可能な指標の確認
  2. 02段階的なトラフィック増加の計画
  3. 03監視時間としきい値の設定
  4. 04回帰発生時の対応策の選択
  5. 05ガード付きロールアウトの開始と確認
  6. 06進行中のロールアウトの停止

活用シーン

  1. 01機能フラグのバリエーションを段階的に公開
  2. 02エラー率、レイテンシ、コンバージョンの監視
  3. 03問題発生時のロールアウト停止

MCP 対応

リモートでホストされた LaunchDarkly MCP サーバーの設定が必要です。ツールを使ってフラグと指標を確認し、ロールアウトの開始・停止を行います。フラグの切り替えや指標の作成も任意で利用できます。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/launchdarkly/ai-tooling --skill launchdarkly-guarded-rollout

インストール後、Claude Code で/launchdarkly-guarded-rolloutを入力して読み込まれたか確認します。

詳細

LaunchDarkly ガード付きロールアウト

あなたは、LaunchDarkly でガード付きロールアウトを構成する手順を案内するスキルを使用しています。あなたの役割は、ロールアウトのステージを設計し、監視メトリクスを選択し、リグレッションしきい値を構成し、ロールアウトを開始することです。

前提条件

このスキルを使用するには、リモートでホストされている LaunchDarkly MCP サーバーが環境内に構成されている必要があります。

必須の MCP ツール:

  • start-guarded-rollout -- 監視付きの段階的ロールアウトを開始します
  • get-flag -- フィーチャーフラグとそのバリエーションを検査します
  • list-metrics -- ロールアウト中に監視するメトリクスを検索します

オプションの MCP ツール:

  • stop-guarded-rollout -- アクティブなロールアウトを即座に停止します
  • toggle-flag -- 開始前にフィーチャーフラグがオンになっていることを確認します
  • create-metric -- メトリクスが存在しない場合に作成します

基本概念

ガード付きロールアウトとは?

ガード付きロールアウトは、一連のステージを通じて新しいフィーチャーフラグのバリエーションへのトラフィックを段階的に増加させます。各ステージで、LaunchDarkly は選択されたメトリクスにリグレッションがないか監視します。リグレッションが検出されると、ロールアウトは自動的に一時停止してチームに通知できます。あるいはロールバックすることもできます。

主要な構成要素
構成要素説明
テストバリエーションロールアウトされる新しいバリエーション
コントロールバリエーション既存の/ベースラインのバリエーション
ステージトラフィックの割合が増加する手順と監視ウィンドウ
メトリクスリグレッションを監視する対象(エラー率、レイテンシなど)
リグレッションしきい値アクションをトリガーする前にメトリクスがどの程度悪化できるか
リグレッション発生時しきい値に達したときに通知、ロールバック、またはその両方を行うか
ロールアウトの重みの単位

ロールアウトの重みは 1000 分の 1(ベーシスポイント)を使用します:

  • 1000 = 1%
  • 10000 = 10%
  • 50000 = 50%
  • 100000 = 100%
監視ウィンドウ

監視ウィンドウはミリ秒で指定します:

  • 3600000 = 1 時間
  • 86400000 = 24 時間
  • 604800000 = 7 日間

基本原則

  1. 小さく始める: 問題を早期に発見するため、低い割合(1〜5%)から始めます
  2. 重要なものを監視する: ユーザーエクスペリエンスを反映するメトリクスを選択します
  3. 現実的なしきい値を設定する: 厳しすぎると誤警報が発生し、緩すぎるとリグレッションを見逃します
  4. 時間を確保する: 各ステージには、シグナルが現れるのに十分な監視時間が必要です
  5. ロールバック計画を用意する: リグレッション発生時に少なくとも通知は必ず構成します

ワークフロー

ステップ 1: 準備

ガード付きロールアウトを開始する前に:

  1. get-flag を使用してフィーチャーフラグを検査します — テストとコントロールのバリエーション ID を確認します
  2. list-metrics を使用して、監視に適したメトリクスを検索します
  3. 対象の環境でフィーチャーフラグがオンになっていることを確認します(必要に応じて toggle-flag を使用します)
  4. このフィーチャーフラグにアクティブなガード付きロールアウトがすでに存在しないことを確認します
ステップ 2: ステージの設計

ロールアウトの進行を計画します。一般的なパターン:

ステージトラフィック監視ウィンドウ目的
11%1 時間スモークテスト — 明らかなクラッシュを検出します
210%24 時間メトリクスに関する初期シグナル
350%24 時間信頼性の向上
4100%24 時間監視付きの完全なロールアウト
ステップ 3: メトリクスの構成

問題を示すメトリクスを選択します:

メトリクスの種類例しきい値アクション
エラー率api-error-rate0.05(5% 増加)ロールバック
レイテンシp99-response-time0.2(20% 増加)通知
コンバージョンcheckout-completed0.1(10% 減少)通知 + ロールバック
ステップ 4: ロールアウトの開始

start-guarded-rollout を使用します:

{
  "projectKey": "my-project",
  "flagKey": "new-checkout-flow",
  "environmentKey": "production",
  "testVariationId": "variation-id-for-new-flow",
  "controlVariationId": "variation-id-for-current-flow",
  "randomizationUnit": "user",
  "stages": [
    {"rolloutWeight": 1000, "monitoringWindowMilliseconds": 3600000},
    {"rolloutWeight": 10000, "monitoringWindowMilliseconds": 86400000},
    {"rolloutWeight": 50000, "monitoringWindowMilliseconds": 86400000},
    {"rolloutWeight": 100000, "monitoringWindowMilliseconds": 86400000}
  ],
  "metrics": [
    {
      "metricKey": "api-error-rate",
      "onRegression": {"notify": true, "rollback": true},
      "regressionThreshold": 0.05
    },
    {
      "metricKey": "checkout-completed",
      "onRegression": {"notify": true, "rollback": false},
      "regressionThreshold": 0.1
    }
  ]
}
ステップ 5: 確認
  1. get-flag を使用して、ガード付きロールアウトがアクティブであることを確認します
  2. フィーチャーフラグが環境内でロールアウト構成を表示していることを確認します
  3. 即時のリグレッション通知がないか監視します

結果を報告する:

  • ガード付きロールアウトが N 個のステージで開始されました
  • M 個のメトリクスが監視されています
  • 最初のステージは X% のトラフィックで Y 時間実行されます

ロールアウトの停止

問題が発生した場合、またはロールアウトを中断する必要がある場合:

{
  "projectKey": "my-project",
  "flagKey": "new-checkout-flow",
  "environmentKey": "production"
}

これにより、段階的なロールアウトが即座に停止され、フィーチャーフラグは現在の状態で固定されます。

エッジケース

状況対応
フィーチャーフラグがオフまず toggle-flag でオンにしてください — ロールアウトにはフィーチャーフラグがオンの状態が必要です
アクティブなロールアウトが存在する新しいロールアウトを開始する前に、stop-guarded-rollout で既存のものを停止してください
適切なメトリクスがないまず create-metric でメトリクスを作成してください
承認が必要環境で承認が必要な場合、ツールは承認 URL を返します

やってはいけないこと

  • オフになっているフィーチャーフラグに対してガード付きロールアウトを開始しないでください
  • 監視ウィンドウの設計を省略しないでください — 各段階を急いで通過すると、本来の目的が損なわれます
  • 回帰しきい値を 0 に設定しないでください — 小さな変動は正常です
  • 少なくとも 1 つのメトリクスの設定を忘れないでください — 監視のないロールアウトは、単なる通常のロールアウトにすぎません

コメント