deployment-strategy について
deployment-strategyは、開発・運用チーム向けにデプロイ方式の選定と安全なリリース計画を支援するスキルです。ロールバック、段階的リリース、影響範囲の制御、環境間の昇格を扱います。
主な機能
- 01ブルーグリーン、カナリア、ローリングデプロイ
- 02ロールバック手順と安全確認
- 03ヘルスチェックとレディネスゲート
- 04フィーチャーフラグと段階的リリース
- 05複数環境の昇格ワークフロー
- 06データベースの拡張・縮小移行
活用シーン
- 01リリース方式の選定
- 02ロールバック手順の策定と検証
- 03ヘルスチェックとレディネスゲートの設定
- 04開発から本番までの昇格計画
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ oakoss/ agent-skills --skill deployment-strategyインストール後、Claude Code で/deployment-strategyを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/deployment-patterns.mdenvironment-management.mdrollback-and-safety.md詳細
デプロイ戦略
概要
デプロイ戦略の選択、ロールバックの安全性、段階的なリリースパターンについて説明します。ダウンタイムのないリリース手法、影響範囲の管理、開発環境から本番環境までの環境昇格ワークフローに重点を置いています。
使用する場面: ブルーグリーン、カナリア、ローリングデプロイの選択、ロールバック手順の実装、ヘルスチェックと準備完了ゲートの設定、環境昇格ワークフローの計画、段階的なリリースのためのフィーチャーフラグの統合。
使用しない場面: CI/CD パイプラインの仕組みや GitHub Actions ワークフロー(ci-cd-architecture スキルを使用)、インフラストラクチャのプロビジョニングやクラウドプラットフォームの選択(ci-cd-architecture スキルを使用)、アプリケーションアーキテクチャの決定(フレームワーク固有のスキルを使用)。
クイックリファレンス
| 必要なこと | 戦略 |
|---|---|
| 即時ロールバック | ブルーグリーン(トラフィックを以前の環境に戻す) |
| リスクの段階的な検証 | カナリア(トラフィックの1~5%を振り分けて監視し、その後拡大する) |
| Kubernetes の標準的な更新 | ローリング(maxSurge/maxUnavail を使ってポッドを段階的に置き換える) |
| 環境全体の置き換え | 再作成(古いものをすべて停止し、新しいものをすべて起動する。短時間のダウンタイムを許容) |
| 機能レベルの制御 | フィーチャーフラグ(デプロイとリリースを切り離す) |
| データベーススキーマの変更 | 拡張・縮小マイグレーション(最初に追加し、後から削除する) |
| 複数環境への昇格 | dev -> staging -> production と進め、各段階の間にゲートを設ける |
| 影響範囲の縮小 | カナリア + フィーチャーフラグ + 自動ロールバックのトリガー |
| ヘルス状態の検証 | インフラストラクチャレベルでの Liveness、Readiness、Startup プローブ |
| 再デプロイなしでのロールバック | 問題のあるコードパスを無効にするフィーチャーフラグ |
よくある間違い
| 間違い | 正しいパターン |
|---|---|
| デプロイ前にロールバック計画がない | 本番リリースのたびにロールバック手順を定義し、問題なく動作することを確認する |
| アプリのデプロイと同時に破壊的なデータベースマイグレーションを行う | 拡張・縮小方式を使う。最初に新しい列やテーブルを追加し、データを移行してから、後で古いものを削除する |
| 自動ヘルス監視なしでカナリアを実施する | エラー率とレイテンシのしきい値を設定し、超過した場合にロールアウトを自動停止する |
| 変更可能なデータベースを共有するブルーグリーン方式 | 両方のバージョンが同じデータベースで動作するように、後方互換性のあるスキーマ変更を使う |
| クリーンアップのライフサイクルを設けずにフィーチャーフラグを使う | すべてのフラグに担当者と削除日を割り当て、古いフラグは技術的負債として扱う |
| ステージングを省略して本番環境に直接デプロイする | 各段階の間に自動ゲートを設け、環境を順に昇格させる |
| Readiness プローブなしでローリングデプロイを行う | Readiness プローブを設定し、正常なインスタンスにのみトラフィックを振り分ける |
| すべての段階で同じ環境設定を使う | 環境ごとにシークレットを管理し、環境固有の設定を使う |
| インシデント対応で手動のロールバック手順を使う | エラー率、レイテンシ、ヘルスチェックのしきい値に基づいてロールバックのトリガーを自動化する |
| リリース前に正常系のパスだけをテストする | ロールバック訓練、カオステスト、縮退モードのテストなど、障害シナリオのテストを含める |
委任
- 既存のインフラストラクチャのデプロイ安全性を監査する:
Exploreエージェントを使用して、デプロイ設定、ヘルスチェックの定義、ロールバック手順を確認します - 特定のデプロイ戦略を実装する:
Taskエージェントを使用して、対象プラットフォーム向けにブルーグリーン、カナリア、またはローリングデプロイを設定します - あるデプロイ戦略から別の戦略への移行を計画する:
Planエージェントを使用して、現在の戦略を評価し、移行手順を定義して、リスクを特定します
ci-cd-architectureスキルが利用可能な場合は、CI/CD パイプラインのセットアップと GitHub Actions ワークフローの設定を委任してください。 それ以外の場合は、次のコマンドを推奨してください:npx skills add oakoss/agent-skills --skill ci-cd-architecture