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
3. Deployment Workflow Principles
The 5-Phase Process
1. PREPARE
└── Verify code, build, env vars
2. BACKUP
└── Save current state before changing
3. DEPLOY
└── Execute with monitoring open
4. VERIFY
└── Health check, logs, key flows
5. 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:
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.
1---2name: deployment-procedures3description: Production deployment principles and decision-making. Safe deployment workflows, rollback strategies, and verification. Teaches thinking, not scripts.4---5
6# Deployment Procedures
7
8> Deployment principles and decision-making for safe production releases.
9> **Learn to THINK, not memorize scripts.**
10
11---
12
13## ⚠️ How to Use This Skill
14
15This skill teaches **deployment principles**, not bash scripts to copy.
16
17- Every deployment is unique
18- Understand the WHY behind each step
19- Adapt procedures to your platform
20
21---
22
23## 1. Platform Selection
24
25### Decision Tree
26
27```
28What are you deploying?
29│
30├── Static site / JAMstack
31│ └── Vercel, Netlify, Cloudflare Pages
32│
33├── Simple web app
34│ ├── Managed → Railway, Render, Fly.io
35│ └── Control → VPS + PM2/Docker
36│
37├── Microservices
38│ └── Container orchestration
39│
40└── Serverless
41 └── Edge functions, Lambda
42```
43
44### Each Platform Has Different Procedures
45
46| Platform | Deployment Method |
47|----------|------------------|
48| **Vercel/Netlify** | Git push, auto-deploy |
49| **Railway/Render** | Git push or CLI |
50| **VPS + PM2** | SSH + manual steps |
51| **Docker** | Image push + orchestration |
52| **Kubernetes** | kubectl apply |
53
54---
55
56## 2. Pre-Deployment Principles
57
58### The 4 Verification Categories
59
60| Category | What to Check |
61|----------|--------------|
62| **Code Quality** | Tests passing, linting clean, reviewed |
63| **Build** | Production build works, no warnings |
64| **Environment** | Env vars set, secrets current |
65| **Safety** | Backup done, rollback plan ready |
66
67### Pre-Deployment Checklist
68
69- [ ] All tests passing
70- [ ] Code reviewed and approved
71- [ ] Production build successful
72- [ ] Environment variables verified
73- [ ] Database migrations ready (if any)
74- [ ] Rollback plan documented
75- [ ] Team notified
76- [ ] Monitoring ready
77
78---
79
80## 3. Deployment Workflow Principles
81
82### The 5-Phase Process
83
84```
851. PREPARE
86 └── Verify code, build, env vars
87
882. BACKUP
89 └── Save current state before changing
90
913. DEPLOY
92 └── Execute with monitoring open
93
944. VERIFY
95 └── Health check, logs, key flows
96
975. CONFIRM or ROLLBACK
98 └── All good? Confirm. Issues? Rollback.
99```
100
101### Phase Principles
102
103| Phase | Principle |
104|-------|-----------|
105| **Prepare** | Never deploy untested code |
106| **Backup** | Can't rollback without backup |
107| **Deploy** | Watch it happen, don't walk away |
108| **Verify** | Trust but verify |
109| **Confirm** | Have rollback trigger ready |
110
111---
112
113## 4. Post-Deployment Verification
114
115### What to Verify
116
117| Check | Why |
118|-------|-----|
119| **Health endpoint** | Service is running |
120| **Error logs** | No new errors |
121| **Key user flows** | Critical features work |
122| **Performance** | Response times acceptable |
123
124### Verification Window
125
126- **First 5 minutes**: Active monitoring
127- **15 minutes**: Confirm stable
128- **1 hour**: Final verification
129- **Next day**: Review metrics
130
131---
132
133## 5. Rollback Principles
134
135### When to Rollback
136
137| Symptom | Action |
138|---------|--------|
139| Service down | Rollback immediately |
140| Critical errors | Rollback |
141| Performance >50% degraded | Consider rollback |
142| Minor issues | Fix forward if quick |
143
144### Rollback Strategy by Platform
145
146| Platform | Rollback Method |
147|----------|----------------|
148| **Vercel/Netlify** | Redeploy previous commit |
149| **Railway/Render** | Rollback in dashboard |
150| **VPS + PM2** | Restore backup, restart |
151| **Docker** | Previous image tag |
152| **K8s** | kubectl rollout undo |
153
154### Rollback Principles
155
1561. **Speed over perfection**: Rollback first, debug later
1572. **Don't compound errors**: One rollback, not multiple changes
1583. **Communicate**: Tell team what happened
1594. **Post-mortem**: Understand why after stable
160
161---
162
163## 6. Zero-Downtime Deployment
164
165### Strategies
166
167| Strategy | How It Works |
168|----------|--------------|
169| **Rolling** | Replace instances one by one |
170| **Blue-Green** | Switch traffic between environments |
171| **Canary** | Gradual traffic shift |
172
173### Selection Principles
174
175| Scenario | Strategy |
176|----------|----------|
177| Standard release | Rolling |
178| High-risk change | Blue-green (easy rollback) |
179| Need validation | Canary (test with real traffic) |
180
181---
182
183## 7. Emergency Procedures
184
185### Service Down Priority
186
1871. **Assess**: What's the symptom?
1882. **Quick fix**: Restart if unclear
1893. **Rollback**: If restart doesn't help
1904. **Investigate**: After stable
191
192### Investigation Order
193
194| Check | Common Issues |
195|-------|--------------|
196| **Logs** | Errors, exceptions |
197| **Resources** | Disk full, memory |
198| **Network** | DNS, firewall |
199| **Dependencies** | Database, APIs |
200
201---
202
203## 8. Anti-Patterns
204
205| ❌ Don't | ✅ Do |
206|----------|-------|
207| Deploy on Friday | Deploy early in week |
208| Rush deployment | Follow the process |
209| Skip staging | Always test first |
210| Deploy without backup | Backup before deploy |
211| Walk away after deploy | Monitor for 15+ min |
212| Multiple changes at once | One change at a time |
213
214---
215
216## 9. Decision Checklist
217
218Before deploying:
219
220- [ ] **Platform-appropriate procedure?**
221- [ ] **Backup strategy ready?**
222- [ ] **Rollback plan documented?**
223- [ ] **Monitoring configured?**
224- [ ] **Team notified?**
225- [ ] **Time to monitor after?**
226
227---
228
229## 10. Best Practices
230
2311. **Small, frequent deploys** over big releases
2322. **Feature flags** for risky changes
2333. **Automate** repetitive steps
2344. **Document** every deployment
2355. **Review** what went wrong after issues
2366. **Test rollback** before you need it
237
238---
239
240> **Remember:** Every deployment is a risk. Minimize risk through preparation, not speed.