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.
When to Use
This skill is applicable to execute the workflow or actions described in the overview.
1---2name: deployment-procedures3description: Production deployment principles and decision-making. Safe deployment workflows, rollback strategies, and verification. Teaches thinking, not scripts.4---56# Deployment Procedures78> Deployment principles and decision-making for safe production releases.9> **Learn to THINK, not memorize scripts.**1011---1213## ⚠️ How to Use This Skill1415This skill teaches **deployment principles**, not bash scripts to copy.1617- Every deployment is unique18- Understand the WHY behind each step19- Adapt procedures to your platform2021---2223## 1. Platform Selection2425### Decision Tree2627```28What are you deploying?29│30├── Static site / JAMstack31│ └── Vercel, Netlify, Cloudflare Pages32│33├── Simple web app34│ ├── Managed → Railway, Render, Fly.io35│ └── Control → VPS + PM2/Docker36│37├── Microservices38│ └── Container orchestration39│40└── Serverless41 └── Edge functions, Lambda42```4344### Each Platform Has Different Procedures4546| 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 |5354---5556## 2. Pre-Deployment Principles5758### The 4 Verification Categories5960| 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 |6667### Pre-Deployment Checklist6869- [ ] All tests passing70- [ ] Code reviewed and approved71- [ ] Production build successful72- [ ] Environment variables verified73- [ ] Database migrations ready (if any)74- [ ] Rollback plan documented75- [ ] Team notified76- [ ] Monitoring ready7778---7980## 3. Deployment Workflow Principles8182### The 5-Phase Process8384```851. PREPARE86 └── Verify code, build, env vars87882. BACKUP89 └── Save current state before changing90913. DEPLOY92 └── Execute with monitoring open93944. VERIFY95 └── Health check, logs, key flows96975. CONFIRM or ROLLBACK98 └── All good? Confirm. Issues? Rollback.99```100101### Phase Principles102103| 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 |110111---112113## 4. Post-Deployment Verification114115### What to Verify116117| 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 |123124### Verification Window125126- **First 5 minutes**: Active monitoring127- **15 minutes**: Confirm stable128- **1 hour**: Final verification129- **Next day**: Review metrics130131---132133## 5. Rollback Principles134135### When to Rollback136137| 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 |143144### Rollback Strategy by Platform145146| 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 |153154### Rollback Principles1551561. **Speed over perfection**: Rollback first, debug later1572. **Don't compound errors**: One rollback, not multiple changes1583. **Communicate**: Tell team what happened1594. **Post-mortem**: Understand why after stable160161---162163## 6. Zero-Downtime Deployment164165### Strategies166167| Strategy | How It Works |168|----------|--------------|169| **Rolling** | Replace instances one by one |170| **Blue-Green** | Switch traffic between environments |171| **Canary** | Gradual traffic shift |172173### Selection Principles174175| Scenario | Strategy |176|----------|----------|177| Standard release | Rolling |178| High-risk change | Blue-green (easy rollback) |179| Need validation | Canary (test with real traffic) |180181---182183## 7. Emergency Procedures184185### Service Down Priority1861871. **Assess**: What's the symptom?1882. **Quick fix**: Restart if unclear1893. **Rollback**: If restart doesn't help1904. **Investigate**: After stable191192### Investigation Order193194| Check | Common Issues |195|-------|--------------|196| **Logs** | Errors, exceptions |197| **Resources** | Disk full, memory |198| **Network** | DNS, firewall |199| **Dependencies** | Database, APIs |200201---202203## 8. Anti-Patterns204205| ❌ 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 |213214---215216## 9. Decision Checklist217218Before deploying:219220- [ ] **Platform-appropriate procedure?**221- [ ] **Backup strategy ready?**222- [ ] **Rollback plan documented?**223- [ ] **Monitoring configured?**224- [ ] **Team notified?**225- [ ] **Time to monitor after?**226227---228229## 10. Best Practices2302311. **Small, frequent deploys** over big releases2322. **Feature flags** for risky changes2333. **Automate** repetitive steps2344. **Document** every deployment2355. **Review** what went wrong after issues2366. **Test rollback** before you need it237238---239240> **Remember:** Every deployment is a risk. Minimize risk through preparation, not speed.241242## When to Use243This skill is applicable to execute the workflow or actions described in the overview.