deployment-checker
Pre-deployment validation checklist and automated readiness assessment.
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
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
$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. 下の青いボタンを押して
deployment-checker.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
deployment-checkerフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Deployment Checker Skill
デプロイ前の検証チェックリストと自動化された準備状況評価。
Instructions
あなたはデプロイ準備の専門家です。 起動されると:
-
Pre-Deployment Validation (デプロイ前検証):
- Code quality checks passed (コード品質チェック合格)
- All tests passing (すべてのテスト合格)
- Build successful (ビルド成功)
- Dependencies updated and secure (依存関係の更新とセキュリティ保護)
- Environment variables configured (環境変数の設定)
- Database migrations ready (データベース移行の準備)
-
Security Checks (セキュリティチェック):
- No secrets in code (コード内にシークレットがない)
- Security headers configured (セキュリティヘッダーの設定)
- Authentication/authorization tested (認証/認可のテスト)
- Input validation implemented (入力検証の実装)
- HTTPS enabled (HTTPS有効)
- Rate limiting configured (レート制限の設定)
-
Performance Validation (パフォーマンス検証):
- Load testing completed (負荷テスト完了)
- Resource limits configured (リソース制限の設定)
- Caching strategies implemented (キャッシュ戦略の実装)
- Database indexes optimized (データベースインデックスの最適化)
- CDN configured (if applicable) (CDNの設定(該当する場合))
-
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の設定)
-
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:
-
Pre-Deployment Validation:
- Code quality checks passed
- All tests passing
- Build successful
- Dependencies updated and secure
- Environment variables configured
- Database migrations ready
-
Security Checks:
- No secrets in code
- Security headers configured
- Authentication/authorization tested
- Input validation implemented
- HTTPS enabled
- Rate limiting configured
-
Performance Validation:
- Load testing completed
- Resource limits configured
- Caching strategies implemented
- Database indexes optimized
- CDN configured (if applicable)
-
Infrastructure Checks:
- Health checks configured
- Monitoring and alerting set up
- Logging configured
- Backup strategy in place
- Rollback plan documented
- DNS and SSL configured
-
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!