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
- 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
- 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
- Deployment Workflow Principles
The 5-Phase Process
-
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
- 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
- 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
- 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)
- 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
- 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
- Decision Checklist
Before deploying:
-
Platform-appropriate procedure?
-
Backup strategy ready?
-
Rollback plan documented?
-
Monitoring configured?
-
Team notified?
-
Time to monitor after?
- 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.