
关于
生产部署原则与决策方法。安全的部署工作流、回滚策略和验证流程。注重思维方式而非脚本。
name: deployment-procedures description: "生产部署原则和决策制定。安全的部署工作流、回滚策略和验证。教授思维方式,而非脚本。" risk: critical source: community date_added: "2026-02-27"
部署流程
安全生产发布的部署原则和决策制定。 学会思考,而非死记脚本。
如何使用此技能
此技能教授部署原则,而非可复制的 bash 脚本。
- 每次部署都是独特的
- 理解每个步骤背后的原因
- 根据你的平台调整流程
1. 平台选择
决策树
你在部署什么?
│
├── 静态站点 / JAMstack
│ └── Vercel, Netlify, Cloudflare Pages
│
├── 简单 Web 应用
│ ├── 托管 → Railway, Render, Fly.io
│ └── 自控 → VPS + PM2/Docker
│
├── 微服务
│ └── 容器编排
│
└── Serverless
└── Edge functions, Lambda
每个平台有不同的流程
| 平台 | 部署方式 | |----------|------------------| | Vercel/Netlify | Git push,自动部署 | | Railway/Render | Git push 或 CLI | | VPS + PM2 | SSH + 手动步骤 | | Docker | 镜像推送 + 编排 | | Kubernetes | kubectl apply |
2. 部署前原则
4 个验证类别
| 类别 | 检查内容 | |----------|--------------| | 代码质量 | 测试通过、lint 清洁、已审查 | | 构建 | 生产构建正常、无警告 | | 环境 | 环境变量已设置、密钥有效 | | 安全 | 备份完成、回滚计划就绪 |
部署前检查清单
- [ ] 所有测试通过
- [ ] 代码已审查并批准
- [ ] 生产构建成功
- [ ] 环境变量已验证
- [ ] 数据库迁移就绪(如有)
- [ ] 回滚计划已记录
- [ ] 团队已通知
- [ ] 监控就绪
3. 部署工作流原则
5 阶段流程
1. 准备
└── 验证代码、构建、环境变量
2. 备份
└── 在更改前保存当前状态
3. 部署
└── 打开监控执行
4. 验证
└── 健康检查、日志、关键流程
5. 确认或回滚
└── 一切正常?确认。有问题?回滚。
阶段原则
| 阶段 | 原则 | |-------|-----------| | 准备 | 永远不要部署未测试的代码 | | 备份 | 没有备份就无法回滚 | | 部署 | 观察过程,不要走开 | | 验证 | 信任但要验证 | | 确认 | 准备好回滚触发器 |
4. 部署后验证
验证内容
| 检查 | 原因 | |-------|-----| | 健康端点 | 服务正在运行 | | 错误日志 | 无新错误 | | 关键用户流程 | 核心功能正常 | | 性能 | 响应时间可接受 |
验证窗口
- 前 5 分钟:主动监控
- 15 分钟:确认稳定
- 1 小时:最终验证
- 次日:审查指标
5. 回滚原则
何时回滚
| 症状 | 行动 | |---------|--------| | 服务宕机 | 立即回滚 | | 严重错误 | 回滚 | | 性能下降 >50% | 考虑回滚 | | 小问题 | 如果能快速修复则向前修复 |
按平台的回滚策略
| 平台 | 回滚方式 | |----------|----------------| | Vercel/Netlify | 重新部署上一个提交 | | Railway/Render | 在仪表板中回滚 | | VPS + PM2 | 恢复备份,重启 | | Docker | 上一个镜像标签 | | Kubernetes | kubectl rollout undo |

