Deployment Procedures
Deployment principles and decision-making for safe production releases. Learn to THINK, not memorize scripts.
⚠️ How to Use This Skill
This skill teaches deployment principles, not bash scripts to copy.
Every deployment is unique Understand the WHY behind each step Adapt procedures to your platform 1. Platform Selection Decision Tree What are you deploying? │ ├── Static site / JAMstack │ └── Vercel, Netlify, Cloudflare Pages │ ├── Simple web app │ ├── Managed → Railway, Render, Fly.io │ └── Control → VPS + PM2/Docker │ ├── Microservices │ └── Container orchestration │ └── Serverless └── Edge functions, Lambda
Each Platform Has Different Procedures Platform Deployment Method Vercel/Netlify Git push, auto-deploy Railway/Render Git push or CLI VPS + PM2 SSH + manual steps Docker Image push + orchestration Kubernetes kubectl apply 2. Pre-Deployment Principles The 4 Verification Categories Category What to Check Code Quality Tests passing, linting clean, reviewed Build Production build works, no warnings Environment Env vars set, secrets current Safety Backup done, rollback plan ready Pre-Deployment Checklist All tests passing Code reviewed and approved Production build successful Environment variables verified Database migrations ready (if any) Rollback plan documented Team notified Monitoring ready 3. Deployment Workflow Principles The 5-Phase Process 1. PREPARE └── Verify code, build, env vars
-
BACKUP └── Save current state before changing
-
DEPLOY └── Execute with monitoring open
-
VERIFY └── Health check, logs, key flows
-
CONFIRM or ROLLBACK └── All good? Confirm. Issues? Rollback.
Phase Principles Phase Principle Prepare Never deploy untested code Backup Can't rollback without backup Deploy Watch it happen, don't walk away Verify Trust but verify Confirm Have rollback trigger ready 4. Post-Deployment Verification What to Verify Check Why Health endpoint Service is running Error logs No new errors Key user flows Critical features work Performance Response times acceptable Verification Window First 5 minutes: Active monitoring 15 minutes: Confirm stable 1 hour: Final verification Next day: Review metrics 5. Rollback Principles When to Rollback Symptom Action Service down Rollback immediately Critical errors Rollback Performance >50% degraded Consider rollback Minor issues Fix forward if quick Rollback Strategy by Platform Platform Rollback Method Vercel/Netlify Redeploy previous commit Railway/Render Rollback in dashboard VPS + PM2 Restore backup, restart Docker Previous image tag K8s kubectl rollout undo Rollback Principles Speed over perfection: Rollback first, debug later Don't compound errors: One rollback, not multiple changes Communicate: Tell team what happened Post-mortem: Understand why after stable 6. Zero-Downtime Deployment Strategies Strategy How It Works Rolling Replace instances one by one Blue-Green Switch traffic between environments Canary Gradual traffic shift Selection Principles Scenario Strategy Standard release Rolling High-risk change Blue-green (easy rollback) Need validation Canary (test with real traffic) 7. Emergency Procedures Service Down Priority Assess: What's the symptom? Quick fix: Restart if unclear Rollback: If restart doesn't help Investigate: After stable Investigation Order Check Common Issues Logs Errors, exceptions Resources Disk full, memory Network DNS, firewall Dependencies Database, APIs 8. Anti-Patterns ❌ Don't ✅ Do Deploy on Friday Deploy early in week Rush deployment Follow the process Skip staging Always test first Deploy without backup Backup before deploy Walk away after deploy Monitor for 15+ min Multiple changes at once One change at a time 9. Decision Checklist
Before deploying:
Platform-appropriate procedure? Backup strategy ready? Rollback plan documented? Monitoring configured? Team notified? Time to monitor after? 10. Best Practices Small, frequent deploys over big releases Feature flags for risky changes Automate repetitive steps Document every deployment Review what went wrong after issues Test rollback before you need it
Remember: Every deployment is a risk. Minimize risk through preparation, not speed.