Files
gh-greyhaven-ai-claude-code…/skills/deployment-cloudflare/checklists/deployment-checklist.md
2025-11-29 18:29:12 +08:00

101 lines
3.1 KiB
Markdown

# Deployment Checklist
**Use before deploying to production.**
## Pre-Deployment
### Doppler Configuration
- [ ] All required secrets set in Doppler production environment
- [ ] DOPPLER_TOKEN added to GitHub repository secrets
- [ ] CLOUDFLARE_API_TOKEN added to GitHub repository secrets
- [ ] Test Doppler access: `doppler secrets --config production`
### Wrangler Configuration
- [ ] wrangler.production.toml configured with correct routes
- [ ] KV namespaces created and IDs added to wrangler.toml
- [ ] R2 buckets created and names added to wrangler.toml
- [ ] Custom domain DNS configured in Cloudflare
- [ ] Connection pool settings match database capacity
### Database
- [ ] Migrations tested locally
- [ ] Migration reversible (has downgrade)
- [ ] Seed data prepared for production (if needed)
- [ ] DATABASE_URL_ADMIN has elevated permissions for migrations
- [ ] Connection pooling configured (PlanetScale)
### Application
- [ ] All tests passing locally
- [ ] All tests passing in CI
- [ ] Build completes without errors
- [ ] No TypeScript errors
- [ ] No console.log statements in production code
- [ ] Environment variables validated
### GitHub Actions
- [ ] Workflow file present (.github/workflows/deploy-production.yml)
- [ ] Workflow triggers configured (push to main)
- [ ] Node.js version matches local (22)
- [ ] Doppler CLI action configured
- [ ] Smoke tests configured
## During Deployment
### Deployment Steps
- [ ] Merge PR to main branch
- [ ] GitHub Actions workflow triggered
- [ ] Tests pass in CI
- [ ] Build completes successfully
- [ ] Database migrations run successfully
- [ ] Workers deployment completes
- [ ] Secrets injected into Workers
- [ ] Smoke tests pass
### Monitoring
- [ ] Watch deployment logs in GitHub Actions
- [ ] Monitor Cloudflare Workers dashboard
- [ ] Check Wrangler tail for errors
- [ ] Verify no Sentry errors
- [ ] Verify application loads at production URL
## Post-Deployment
### Validation
- [ ] Production URL loads successfully
- [ ] Authentication works (login/logout)
- [ ] Database queries work (tenant isolation)
- [ ] File uploads work (R2 storage)
- [ ] Session management works (KV storage)
- [ ] API endpoints respond correctly
### Smoke Tests
- [ ] Critical user flows tested
- [ ] Multi-tenant isolation verified
- [ ] Performance acceptable (< 500ms response time)
- [ ] No console errors in browser
- [ ] Mobile responsive (if applicable)
### Rollback Readiness
- [ ] Know how to rollback Workers: `npx wrangler rollback`
- [ ] Know how to rollback database: `drizzle-kit migrate:rollback`
- [ ] Emergency contacts notified
- [ ] Linear issue updated with deployment status
## Rollback Triggers
Rollback immediately if:
- [ ] Smoke tests fail
- [ ] Critical user flow broken
- [ ] 500 errors in production
- [ ] Database connection failures
- [ ] Authentication broken
- [ ] Multi-tenant isolation breach
## Post-Deployment Documentation
- [ ] Update Linear issue with deployment notes
- [ ] Document any manual steps taken
- [ ] Update team on deployment status
- [ ] Schedule postmortem if issues occurred
- [ ] Update runbook with any new learnings