jpskill.com
🛠️ 開発・MCP コミュニティ

deployment-checker

Pre-deployment validation checklist and automated readiness assessment.

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o deployment-checker.zip https://jpskill.com/download/18168.zip && unzip -o deployment-checker.zip && rm deployment-checker.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/18168.zip -OutFile "$d\deployment-checker.zip"; Expand-Archive "$d\deployment-checker.zip" -DestinationPath $d -Force; ri "$d\deployment-checker.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して deployment-checker.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → deployment-checker フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

Deployment Checker Skill

デプロイ前の検証チェックリストと自動化された準備状況評価。

Instructions

あなたはデプロイ準備の専門家です。 起動されると:

  1. Pre-Deployment Validation (デプロイ前検証):

    • Code quality checks passed (コード品質チェック合格)
    • All tests passing (すべてのテスト合格)
    • Build successful (ビルド成功)
    • Dependencies updated and secure (依存関係の更新とセキュリティ保護)
    • Environment variables configured (環境変数の設定)
    • Database migrations ready (データベース移行の準備)
  2. Security Checks (セキュリティチェック):

    • No secrets in code (コード内にシークレットがない)
    • Security headers configured (セキュリティヘッダーの設定)
    • Authentication/authorization tested (認証/認可のテスト)
    • Input validation implemented (入力検証の実装)
    • HTTPS enabled (HTTPS有効)
    • Rate limiting configured (レート制限の設定)
  3. Performance Validation (パフォーマンス検証):

    • Load testing completed (負荷テスト完了)
    • Resource limits configured (リソース制限の設定)
    • Caching strategies implemented (キャッシュ戦略の実装)
    • Database indexes optimized (データベースインデックスの最適化)
    • CDN configured (if applicable) (CDNの設定(該当する場合))
  4. Infrastructure Checks (インフラストラクチャチェック):

    • Health checks configured (ヘルスチェックの設定)
    • Monitoring and alerting set up (監視とアラートの設定)
    • Logging configured (ログ記録の設定)
    • Backup strategy in place (バックアップ戦略の実施)
    • Rollback plan documented (ロールバック計画の文書化)
    • DNS and SSL configured (DNSとSSLの設定)
  5. Generate Checklist (チェックリストの生成): go/no-go の決定を含むデプロイ準備完了レポートを作成します。

Deployment Checklist (デプロイチェックリスト)

Pre-Deployment (Before Release) (デプロイ前(リリース前))

Code Quality (コード品質)

  • [ ] All tests passing (unit, integration, e2e) (すべてのテスト合格(ユニット、統合、e2e))
  • [ ] Code review completed and approved (コードレビュー完了および承認)
  • [ ] Linting passed (no warnings) (Lint通過(警告なし))
  • [ ] Code coverage meets threshold (>80%) (コードカバレッジが閾値を超える(>80%))
  • [ ] No known critical bugs (既知の重大なバグなし)
  • [ ] Breaking changes documented (破壊的な変更の文書化)
  • [ ] API contracts validated (APIコントラクトの検証)

Build & Dependencies (ビルドと依存関係)

  • [ ] Build successful in CI/CD (CI/CDでビルド成功)
  • [ ] Dependencies updated (依存関係の更新)
  • [ ] Security vulnerabilities resolved (セキュリティ脆弱性の解決)
  • [ ] Bundle size within acceptable limits (バンドルサイズが許容範囲内)
  • [ ] Source maps generated (if applicable) (ソースマップ生成(該当する場合))
  • [ ] Docker images built and pushed (Dockerイメージのビルドとプッシュ)

Database (データベース)

  • [ ] Migrations tested in staging (ステージング環境で移行テスト済み)
  • [ ] Migration rollback plan ready (移行ロールバック計画の準備)
  • [ ] Backup created before migration (移行前にバックアップ作成)
  • [ ] Database indexes optimized (データベースインデックスの最適化)
  • [ ] Data validation scripts run (データ検証スクリプトの実行)
  • [ ] Connection pool configured (接続プールの設定)

Environment Configuration (環境設定)

  • [ ] Environment variables documented (環境変数の文書化)
  • [ ] Secrets stored securely (not in code) (シークレットの安全な保管(コード内ではない))
  • [ ] Feature flags configured (フィーチャーフラグの設定)
  • [ ] CORS settings verified (CORS設定の検証)
  • [ ] API keys rotated (if needed) (APIキーのローテーション(必要な場合))
  • [ ] Third-party services configured (サードパーティサービスの設定)

Security (セキュリティ)

  • [ ] Authentication tested (認証のテスト)
  • [ ] Authorization rules verified (認可ルールの検証)
  • [ ] Input validation implemented (入力検証の実装)
  • [ ] SQL injection prevention verified (SQLインジェクション対策の検証)
  • [ ] XSS prevention implemented (XSS対策の実装)
  • [ ] CSRF tokens configured (CSRFトークンの設定)
  • [ ] Security headers set (セキュリティヘッダーの設定)
  • [ ] Rate limiting enabled (レート制限の有効化)
  • [ ] HTTPS enforced (HTTPSの強制)
  • [ ] Secrets manager configured (シークレットマネージャーの設定)

Performance (パフォーマンス)

  • [ ] Load testing completed (負荷テスト完了)
  • [ ] Performance benchmarks met (パフォーマンスベンチマーク達成)
  • [ ] Database query optimization done (データベースクエリの最適化)
  • [ ] Caching strategy implemented (キャッシュ戦略の実装)
  • [ ] CDN configured (if applicable) (CDNの設定(該当する場合))
  • [ ] Resource limits set (リソース制限の設定)
  • [ ] Auto-scaling configured (自動スケーリングの設定)

Deployment (During Release) (デプロイ(リリース中))

Infrastructure (インフラストラクチャ)

  • [ ] Health check endpoints working (ヘルスチェックエンドポイントの動作)
  • [ ] Monitoring dashboards ready (監視ダッシュボードの準備)
  • [ ] Alerting configured (アラートの設定)
  • [ ] Logging centralized (ログの一元化)
  • [ ] Error tracking enabled (Sentryなど) (エラートラッキングの有効化(Sentryなど))
  • [ ] Backup strategy verified (バックアップ戦略の検証)
  • [ ] SSL certificates valid (SSL証明書の有効性)
  • [ ] DNS records updated (DNSレコードの更新)
  • [ ] Load balancer configured (ロードバランサーの設定)

Deployment Strategy (デプロイ戦略)

  • [ ] Deployment method chosen (blue-green, canary, rolling) (デプロイ方法の選択(ブルーグリーン、カナリア、ローリング))
  • [ ] Rollback plan documented (ロールバック計画の文書化)
  • [ ] Database migration strategy defined (データベース移行戦略の定義)
  • [ ] Downtime window communicated (if any) (ダウンタイム期間の通知(ある場合))
  • [ ] Deployment runbook prepared (デプロイ実行手順書の準備)
  • [ ] Staging deployment successful (ステージング環境へのデプロイ成功)

Communication (コミュニケーション)

  • [ ] Stakeholders notified (関係者への通知)
  • [ ] Change log prepared (変更ログの準備)
  • [ ] Documentation updated (ドキュメントの更新)
  • [ ] Support team briefed (サポートチームへの説明)
  • [ ] Maintenance window scheduled (if needed) (メンテナンス期間のスケジュール(必要な場合))
  • [ ] Status page updated (ステータスページの更新)

Post-Deployment (After Release) (デプロイ後(リリース後))

Validation (検証)

  • [ ] Smoke tests passed (スモークテスト合格)
  • [ ] Health checks green (ヘルスチェック正常)
  • [ ] Error rates normal (エラー率正常)
  • [ ] Response times acceptable (応答時間許容範囲内)
  • [ ] Database migrations completed (データベース移行完了)
  • [ ] Feature flags validated (フィーチャーフラグの検証)

Monitoring (監視)

  • [ ] Application logs reviewed (アプリケーションログの確認)
  • [ ] Error tracking checked (エラートラッキングの確認)
  • [ ] Performance metrics reviewed (パフォーマンスメトリクスの確認)
  • [ ] User feedback monitored (ユーザーフィードバックの監視)
  • [ ] Resource usage normal (リソース使用量正常)
  • [ ] Alerts configured and tested (アラートの設定とテスト)

Documentation (ドキュメント)

  • [ ] Release notes published (リリースノートの公開)
  • [ ] API documentation updated (APIドキュメントの更新)
  • [ ] Known issues documented (既知の問題の文書化)
  • [ ] Rollback procedure tested (ロールバック手順のテスト)
  • [ ] Incident response plan ready (インシデント対応計画の準備)

Usage Examples (使用例)

@deployment-checker
@deployment-checker --environment production
@deployment-checker --checklist
@deployment-checker --automated
@deployment-checker --report

Automated Checks Script (自動チェック スクリプト)

Node.js Example (Node.js の例)

// deployment-check.js
const chalk = require('chalk');

class DeploymentChecker {
  constructor() {
    this.checks = [];
    this.passed = 0;
    this.failed = 0;
  }

  async runChecks() {
    console.log(chalk.bold('\n🚀 Deployment Readiness Check\n'));

    await this.checkTests();
    await this.checkBuild();
    await this.checkDependencies();
    await this.checkEnvironment();
    await this.checkSecurity();
    await this.checkDatabase();

    this.printSummary();
    return this.failed === 0;
  }

  async checkTests() {
    console.log(chalk.blue('📋 Running Tests...'));
    try {
      await this.exec('npm test');
      this.pass('All tests passing');
    } catch (error) {
      this.fail('Tests failed', error.message);
    }
  }

  async checkBuild() {
    console.log(chalk.blue('\n🔨 Building Application...'));
    try {
      await this.exec('npm run build');
      this.pass('Build successful');
    } catch (error) {
      this.fail('Build failed', error.message);
    }
  }

  async checkDependencies() {
    console.log(chalk.blue('\n📦 Checking Dependencies...'));
    try {
      const result = await this.exec('npm audit --audit-level=high');
      if (result.includes('0 vulnerabilities')) {
        this.pass('No high/critical vulnerabilities');
      } else {
        this.fail('Security vulnerabilities found');
      }
    } catch (error) {
      this.fail('Dependency check failed', error.message);
    }
  }

  async checkEnvironment() {
    console.log(chalk.blue('\n🌍 Checking Environment...'));

    const required = [
      'DATABASE_URL',
      'JWT_SECRET',
      'A
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Deployment Checker Skill

Pre-deployment validation checklist and automated readiness assessment.

Instructions

You are a deployment readiness expert. When invoked:

  1. Pre-Deployment Validation:

    • Code quality checks passed
    • All tests passing
    • Build successful
    • Dependencies updated and secure
    • Environment variables configured
    • Database migrations ready
  2. Security Checks:

    • No secrets in code
    • Security headers configured
    • Authentication/authorization tested
    • Input validation implemented
    • HTTPS enabled
    • Rate limiting configured
  3. Performance Validation:

    • Load testing completed
    • Resource limits configured
    • Caching strategies implemented
    • Database indexes optimized
    • CDN configured (if applicable)
  4. Infrastructure Checks:

    • Health checks configured
    • Monitoring and alerting set up
    • Logging configured
    • Backup strategy in place
    • Rollback plan documented
    • DNS and SSL configured
  5. Generate Checklist: Create deployment-ready report with go/no-go decision

Deployment Checklist

Pre-Deployment (Before Release)

Code Quality

  • [ ] All tests passing (unit, integration, e2e)
  • [ ] Code review completed and approved
  • [ ] Linting passed (no warnings)
  • [ ] Code coverage meets threshold (>80%)
  • [ ] No known critical bugs
  • [ ] Breaking changes documented
  • [ ] API contracts validated

Build & Dependencies

  • [ ] Build successful in CI/CD
  • [ ] Dependencies updated
  • [ ] Security vulnerabilities resolved
  • [ ] Bundle size within acceptable limits
  • [ ] Source maps generated (if applicable)
  • [ ] Docker images built and pushed

Database

  • [ ] Migrations tested in staging
  • [ ] Migration rollback plan ready
  • [ ] Backup created before migration
  • [ ] Database indexes optimized
  • [ ] Data validation scripts run
  • [ ] Connection pool configured

Environment Configuration

  • [ ] Environment variables documented
  • [ ] Secrets stored securely (not in code)
  • [ ] Feature flags configured
  • [ ] CORS settings verified
  • [ ] API keys rotated (if needed)
  • [ ] Third-party services configured

Security

  • [ ] Authentication tested
  • [ ] Authorization rules verified
  • [ ] Input validation implemented
  • [ ] SQL injection prevention verified
  • [ ] XSS prevention implemented
  • [ ] CSRF tokens configured
  • [ ] Security headers set
  • [ ] Rate limiting enabled
  • [ ] HTTPS enforced
  • [ ] Secrets manager configured

Performance

  • [ ] Load testing completed
  • [ ] Performance benchmarks met
  • [ ] Database query optimization done
  • [ ] Caching strategy implemented
  • [ ] CDN configured (if applicable)
  • [ ] Resource limits set
  • [ ] Auto-scaling configured

Deployment (During Release)

Infrastructure

  • [ ] Health check endpoints working
  • [ ] Monitoring dashboards ready
  • [ ] Alerting configured
  • [ ] Logging centralized
  • [ ] Error tracking enabled (Sentry, etc.)
  • [ ] Backup strategy verified
  • [ ] SSL certificates valid
  • [ ] DNS records updated
  • [ ] Load balancer configured

Deployment Strategy

  • [ ] Deployment method chosen (blue-green, canary, rolling)
  • [ ] Rollback plan documented
  • [ ] Database migration strategy defined
  • [ ] Downtime window communicated (if any)
  • [ ] Deployment runbook prepared
  • [ ] Staging deployment successful

Communication

  • [ ] Stakeholders notified
  • [ ] Change log prepared
  • [ ] Documentation updated
  • [ ] Support team briefed
  • [ ] Maintenance window scheduled (if needed)
  • [ ] Status page updated

Post-Deployment (After Release)

Validation

  • [ ] Smoke tests passed
  • [ ] Health checks green
  • [ ] Error rates normal
  • [ ] Response times acceptable
  • [ ] Database migrations completed
  • [ ] Feature flags validated

Monitoring

  • [ ] Application logs reviewed
  • [ ] Error tracking checked
  • [ ] Performance metrics reviewed
  • [ ] User feedback monitored
  • [ ] Resource usage normal
  • [ ] Alerts configured and tested

Documentation

  • [ ] Release notes published
  • [ ] API documentation updated
  • [ ] Known issues documented
  • [ ] Rollback procedure tested
  • [ ] Incident response plan ready

Usage Examples

@deployment-checker
@deployment-checker --environment production
@deployment-checker --checklist
@deployment-checker --automated
@deployment-checker --report

Automated Checks Script

Node.js Example

// deployment-check.js
const chalk = require('chalk');

class DeploymentChecker {
  constructor() {
    this.checks = [];
    this.passed = 0;
    this.failed = 0;
  }

  async runChecks() {
    console.log(chalk.bold('\n🚀 Deployment Readiness Check\n'));

    await this.checkTests();
    await this.checkBuild();
    await this.checkDependencies();
    await this.checkEnvironment();
    await this.checkSecurity();
    await this.checkDatabase();

    this.printSummary();
    return this.failed === 0;
  }

  async checkTests() {
    console.log(chalk.blue('📋 Running Tests...'));
    try {
      await this.exec('npm test');
      this.pass('All tests passing');
    } catch (error) {
      this.fail('Tests failed', error.message);
    }
  }

  async checkBuild() {
    console.log(chalk.blue('\n🔨 Building Application...'));
    try {
      await this.exec('npm run build');
      this.pass('Build successful');
    } catch (error) {
      this.fail('Build failed', error.message);
    }
  }

  async checkDependencies() {
    console.log(chalk.blue('\n📦 Checking Dependencies...'));
    try {
      const result = await this.exec('npm audit --audit-level=high');
      if (result.includes('0 vulnerabilities')) {
        this.pass('No high/critical vulnerabilities');
      } else {
        this.fail('Security vulnerabilities found');
      }
    } catch (error) {
      this.fail('Dependency check failed', error.message);
    }
  }

  async checkEnvironment() {
    console.log(chalk.blue('\n🌍 Checking Environment...'));

    const required = [
      'DATABASE_URL',
      'JWT_SECRET',
      'API_KEY',
      'REDIS_URL'
    ];

    for (const envVar of required) {
      if (process.env[envVar]) {
        this.pass(`${envVar} is set`);
      } else {
        this.fail(`${envVar} is missing`);
      }
    }
  }

  async checkSecurity() {
    console.log(chalk.blue('\n🔒 Security Checks...'));

    // Check for secrets in code
    try {
      const result = await this.exec('git secrets --scan');
      this.pass('No secrets found in code');
    } catch (error) {
      this.fail('Secrets detected in code');
    }

    // Check HTTPS
    if (process.env.FORCE_HTTPS === 'true') {
      this.pass('HTTPS enforced');
    } else {
      this.fail('HTTPS not enforced');
    }
  }

  async checkDatabase() {
    console.log(chalk.blue('\n💾 Database Checks...'));

    // Check migrations are up to date
    try {
      await this.exec('npm run db:check-migrations');
      this.pass('Database migrations ready');
    } catch (error) {
      this.fail('Database migration issues');
    }
  }

  pass(message) {
    console.log(chalk.green(`  ✓ ${message}`));
    this.passed++;
  }

  fail(message, details = '') {
    console.log(chalk.red(`  ✗ ${message}`));
    if (details) {
      console.log(chalk.gray(`    ${details}`));
    }
    this.failed++;
  }

  printSummary() {
    console.log(chalk.bold('\n📊 Summary\n'));
    console.log(chalk.green(`  Passed: ${this.passed}`));
    console.log(chalk.red(`  Failed: ${this.failed}`));

    if (this.failed === 0) {
      console.log(chalk.green.bold('\n✅ READY FOR DEPLOYMENT\n'));
    } else {
      console.log(chalk.red.bold('\n❌ NOT READY FOR DEPLOYMENT\n'));
      process.exit(1);
    }
  }

  async exec(command) {
    const { execSync } = require('child_process');
    return execSync(command, { encoding: 'utf8' });
  }
}

// Run checks
const checker = new DeploymentChecker();
checker.runChecks();

Deployment Report Template

# Deployment Readiness Report

**Environment**: Production
**Date**: 2024-01-15
**Version**: v2.3.0
**Release Manager**: @username

---

## Overall Status

🟢 **READY FOR DEPLOYMENT**

**Score**: 95/100
- ✅ Critical checks: 10/10
- ✅ High priority: 18/20
- ⚠️  Medium priority: 28/30
- ✅ Low priority: 39/40

---

## Critical Checks (10/10) ✅

- ✅ All tests passing (1,234 tests, 0 failures)
- ✅ Build successful
- ✅ No critical vulnerabilities
- ✅ Database migrations tested
- ✅ Environment variables configured
- ✅ HTTPS enabled
- ✅ Health checks working
- ✅ Rollback plan documented
- ✅ Monitoring configured
- ✅ Staging deployment successful

---

## High Priority (18/20) ✅

- ✅ Code review approved
- ✅ Security scan passed
- ✅ Performance benchmarks met
- ✅ Load testing completed
- ✅ Error tracking enabled
- ✅ Rate limiting configured
- ✅ Backup strategy verified
- ✅ SSL certificates valid
- ⚠️  API documentation needs update (2 endpoints)
- ⚠️  Cache warming script not tested

---

## Medium Priority (28/30) ⚠️

- ✅ Linting passed
- ✅ Code coverage: 87% (target: 80%)
- ✅ Bundle size: 245KB (within limit)
- ⚠️  Minor performance issue in search endpoint
- ⚠️  1 TODO comment in critical path

---

## Test Results

**Unit Tests**: ✅ 856 passed, 0 failed
**Integration Tests**: ✅ 234 passed, 0 failed
**E2E Tests**: ✅ 144 passed, 0 failed
**Total**: 1,234 tests in 2m 34s

**Coverage**:
- Statements: 87.4%
- Branches: 82.1%
- Functions: 89.3%
- Lines: 86.8%

---

## Security Scan Results

**Dependencies**: ✅ No critical/high vulnerabilities
**Secrets Scan**: ✅ No secrets detected
**HTTPS**: ✅ Enforced
**Security Headers**: ✅ Configured
- X-Frame-Options: DENY
- X-Content-Type-Options: nosniff
- Strict-Transport-Security: max-age=31536000

**Authentication**: ✅ Tested
**Rate Limiting**: ✅ 100 req/15min per IP

---

## Performance Metrics

**Load Test Results** (10,000 concurrent users):
- Average Response Time: 234ms ✅ (target: <500ms)
- P95 Response Time: 456ms ✅ (target: <1s)
- P99 Response Time: 789ms ✅ (target: <2s)
- Error Rate: 0.02% ✅ (target: <0.1%)
- Throughput: 12,345 req/s ✅

**Database**:
- Query Response Time: <50ms ✅
- Connection Pool: Configured (min: 5, max: 50) ✅
- Indexes: Optimized ✅

---

## Infrastructure Status

**Health Checks**: ✅ All passing
- /health: 200 OK (5ms)
- /ready: 200 OK (8ms)
- Database: Connected
- Redis: Connected
- External APIs: Reachable

**Monitoring**: ✅ Configured
- Application metrics: Datadog
- Error tracking: Sentry
- Logging: CloudWatch
- Uptime monitoring: Pingdom

**Alerts Configured**:
- Error rate > 1%
- Response time P95 > 1s
- CPU > 80%
- Memory > 85%
- Database connections > 45

---

## Database Migrations

**Status**: ✅ Ready

Migrations to apply:
1. `20240115_add_user_preferences` - Tested ✅
2. `20240115_create_notifications_table` - Tested ✅

**Rollback Plan**: ✅ Documented
**Backup**: ✅ Created (15GB, 2024-01-15 10:00 UTC)

---

## Deployment Plan

**Strategy**: Blue-Green Deployment
**Estimated Duration**: 15 minutes
**Downtime**: None
**Rollback Time**: 2 minutes

**Steps**:
1. Deploy to green environment
2. Run smoke tests
3. Switch 10% traffic to green
4. Monitor for 10 minutes
5. Switch 50% traffic to green
6. Monitor for 10 minutes
7. Switch 100% traffic to green
8. Keep blue environment for 24h (quick rollback)

---

## Action Items Before Deployment

### Must Fix (Blockers)
- None ✅

### Should Fix (Recommended)
- ⚠️  Update API documentation for new endpoints
- ⚠️  Test cache warming script

### Nice to Have
- Consider adding more E2E tests for edge cases
- Update changelog with latest changes

---

## Risk Assessment

**Overall Risk**: 🟢 Low

**Identified Risks**:
1. **Database Migration** (Low Risk)
   - Mitigation: Tested in staging, rollback plan ready

2. **Traffic Spike** (Low Risk)
   - Mitigation: Load tested, auto-scaling configured

3. **Third-Party API** (Medium Risk)
   - Mitigation: Circuit breaker implemented, fallback configured

---

## Rollback Plan

**Trigger Conditions**:
- Error rate > 5%
- Response time P95 > 2s
- Critical functionality broken

**Rollback Steps**:
1. Switch traffic back to blue environment (30 seconds)
2. Investigate issue
3. Fix and redeploy

**Data Rollback**:
- Database backup available (15 minutes to restore)
- Migration rollback scripts tested

---

## Communication Plan

**Notifications Sent**:
- ✅ Engineering team
- ✅ Product team
- ✅ Support team
- ✅ Stakeholders

**Status Page**: Updated
**Changelog**: Ready to publish
**Documentation**: Updated

---

## Sign-Off

**Technical Lead**: ✅ Approved - @tech-lead
**QA**: ✅ Approved - @qa-lead
**DevOps**: ✅ Approved - @devops-lead
**Product**: ✅ Approved - @product-manager

---

## Final Recommendation

🟢 **APPROVED FOR DEPLOYMENT**

All critical checks passed. Minor issues identified do not block deployment.
Recommend proceeding with deployment as scheduled.

**Scheduled Deployment**: 2024-01-15 14:00 UTC
**Deployment Window**: 14:00 - 14:30 UTC

Best Practices

Blue-Green Deployment

  • Zero downtime
  • Instant rollback
  • Full testing before switch
  • Keep old environment for quick revert

Canary Deployment

  • Gradual rollout (1% → 10% → 50% → 100%)
  • Monitor metrics at each stage
  • Automatic rollback on errors
  • Low risk

Rolling Deployment

  • Update instances one by one
  • No downtime
  • Automatic health checks
  • Slower than blue-green

Database Migrations

  • Always test in staging first
  • Create rollback scripts
  • Backup before migration
  • Avoid breaking changes when possible
  • Use feature flags for schema changes

Notes

  • Never deploy on Fridays (unless critical)
  • Always have a rollback plan
  • Monitor closely for first hour after deployment
  • Document everything
  • Automate as much as possible
  • Test in production-like environment
  • Use feature flags for gradual rollout
  • Keep deployments small and frequent
  • Have team available during deployment
  • Celebrate successful deployments!