Deploy Checklist

Danh sách kiểm tra bắt buộc trước mỗi lần deploy lên staging hoặc production.

Cú pháp

/deploy-checklist

Checklist trước Deploy

Code Quality

  • Tất cả CI checks PASS (lint, typecheck, test)
  • Code review đã được approve (ít nhất 1 người)
  • Không còn review comments chưa giải quyết
  • Coverage đạt target (>80% cho code mới)

Testing

  • Unit tests PASS
  • Integration tests PASS
  • E2E tests PASS (nếu có)
  • QA đã verify trên staging
  • QA sign-off (label qa:passed)

Database

  • Migration files đã tạo (nếu có schema changes)
  • Migration tương thích ngược (zero-downtime deploy)
  • Indexes đã review cho query performance
  • Backup database trước khi migrate

Security

  • Không có secrets/credentials trong code
  • npm audit không có high/critical vulnerabilities
  • Input validation đầy đủ
  • Authorization checks chính xác
  • CORS cấu hình đúng

Environment

  • Env variables đã set trên production
  • Third-party API keys valid
  • DNS / SSL certificates còn hạn

Monitoring

  • Health check endpoint hoạt động
  • Error tracking cấu hình (Sentry, etc.)
  • Log aggregation hoạt động
  • Alerts đã set cho critical metrics

Quy trình Deploy

1

Chạy checklist

/deploy-checklist
2

Tạo PR: staging → main

gh pr create --base main --head staging \
  --title "Release v1.2.0" \
  --body "Sprint 12 release"
3

Review và Approve PR

Ít nhất 1 team member approve.
4

Merge và Deploy

Merge PR → GitHub Actions tự động deploy.
5

Verify sau deploy

/health-check
Kiểm tra hệ thống sau deploy.

Rollback Plan

Nếu có vấn đề sau deploy:
# Revert commit
git revert HEAD
git push origin main

# Hoặc rollback bằng deploy trước đó
# (tùy CI/CD pipeline config)
Luôn có rollback plan trước khi deploy. Nếu không chắc, deploy vào giờ ít traffic và có người sẵn sàng hỗ trợ.