# Deployment Checklist

# Deployment Checklist: [PROJECT NAME]

**Release:** v[X.Y.Z]
**Date:** YYYY-MM-DD
**Deploy Lead:** DevOps
**Approved by:** Tech Lead + John
**Environment:** Staging → Production

---

## Pre-Deployment (T-1 Day)

### Verification
- [ ] All tests passing in CI
- [ ] Code review approved and merged
- [ ] UAT sign-off received
- [ ] Release notes prepared
- [ ] No critical/high open bugs

### Preparation
- [ ] Database backup completed
- [ ] Staging environment matches production config
- [ ] Rollback procedure tested
- [ ] Stakeholders notified of deployment window
- [ ] On-call person confirmed and available

### Configuration
- [ ] Environment variables verified
- [ ] API keys / secrets rotated if needed
- [ ] DNS changes prepared (if applicable)
- [ ] SSL certificates valid (expiry > 30 days)
- [ ] Third-party service limits adequate

## Deployment (T-0)

### Window
- **Allowed:** Tue-Thu, 10:00-16:00
- **Never:** Fridays
- **Hotfix:** Anytime business hours (Tech Lead + John approval)
- **Emergency:** Anytime (John + Alem approval)

### Execution
- [ ] Announce deployment start in channel
- [ ] Deploy to staging — verify
- [ ] Run staging smoke tests
- [ ] Manual approval gate — Tech Lead confirms
- [ ] Deploy to production
- [ ] Monitor deployment logs for errors

## Post-Deployment (T+0)

### Smoke Tests
- [ ] Homepage loads correctly
- [ ] Authentication works (login/logout)
- [ ] Core user flow #1 works
- [ ] Core user flow #2 works
- [ ] API health endpoint returns 200
- [ ] No errors in error tracking (Sentry)

### Monitoring (First 30 Minutes)
- [ ] Error rate normal (< 1%)
- [ ] Response times normal (p95 < 500ms)
- [ ] No 5xx errors in logs
- [ ] Database connections stable
- [ ] Memory/CPU usage normal

### Communication
- [ ] Announce deployment complete
- [ ] Send release notes to stakeholders
- [ ] Update project status

## Rollback Plan

### Rollback Triggers
- Critical functionality broken
- Data integrity issues
- Security vulnerability discovered
- Error rate > 5%
- Response time > 3x normal

### Rollback Procedure
1. [ ] Announce rollback in channel
2. [ ] Revert to previous version
3. [ ] Restore database backup (if schema changed)
4. [ ] Verify rollback successful
5. [ ] Announce rollback complete
6. [ ] Create incident report

### Rollback Time Targets
- Application rollback: < 15 minutes
- Database rollback: < 30 minutes
- Full rollback: < 1 hour

## Sign-off

| Role | Name | Pre-Deploy | Post-Deploy |
|------|------|-----------|-------------|
| DevOps | | ☐ | ☐ |
| Tech Lead | | ☐ | ☐ |
| John | | ☐ | ☐ |