[ PROMPT_NODE_24634 ]
deployment-procedures
[ SKILL_DOCUMENTATION ]
# 部署流程
> 用于安全生产发布的部署原则与决策。
> **学会思考,而不是死记硬背脚本。**
---
## ⚠️ 如何使用此技能
此技能教授的是**部署原则**,而非供复制的 bash 脚本。
- 每次部署都是独特的
- 理解每个步骤背后的“为什么”
- 根据你的平台调整流程
---
## 1. 平台选择
### 决策树
你要部署什么?
│
├── 静态站点 / JAMstack
│ └── Vercel, Netlify, Cloudflare Pages
│
├── 简单 Web 应用
│ ├── 托管服务 → Railway, Render, Fly.io
│ └── 自控服务 → VPS + PM2/Docker
│
├── 微服务
│ └── 容器编排
│
└── Serverless
└── Edge functions, Lambda
### 不同平台有不同的流程
| 平台 | 部署方式 |
|----------|------------------|
| **Vercel/Netlify** | Git 推送,自动部署 |
| **Railway/Render** | Git 推送或 CLI |
| **VPS + PM2** | SSH + 手动步骤 |
| **Docker** | 镜像推送 + 编排 |
| **Kubernetes** | kubectl apply |
---
## 2. 部署前原则
### 4 类验证类别
| 类别 | 检查内容 |
|----------|--------------|
| **代码质量** | 测试通过,linting 清洁,已评审 |
| **构建** | 生产构建正常,无警告 |
| **环境** | 环境变量已设置,密钥为最新 |
| **安全** | 已备份,回滚计划就绪 |
### 部署前检查清单
- [ ] 所有测试通过
- [ ] 代码已评审并批准
- [ ] 生产构建成功
- [ ] 环境变量已验证
- [ ] 数据库迁移已就绪(如有)
- [ ] 回滚计划已记录
- [ ] 团队已通知
- [ ] 监控已就绪
---
## 3. 部署工作流原则
### 5 阶段流程
1. 准备 (PREPARE)
└── 验证代码、构建、环境变量
2. 备份 (BACKUP)
└── 在变更前保存当前状态
3. 部署 (DEPLOY)
└── 在开启监控的情况下执行
4. 验证 (VERIFY)
└── 健康检查、日志、关键流程
5. 确认或回滚 (CONFIRM or ROLLBACK)
└── 一切正常?确认。有问题?回滚。
### 阶段原则
| 阶段 | 原则 |
|-------|-----------|
| **准备** | 永远不要部署未经测试的代码 |
| **备份** | 没有备份就无法回滚 |
| **部署** | 观察部署过程,不要离开 |
| **验证** | 信任但要验证 |
| **确认** | 准备好回滚触发器 |
---
## 4. 部署后验证
### 验证内容
| 检查项 | 原因 |
|-------|-----|
| **健康端点** | 服务正在运行 |
| **错误日志** | 无新错误 |
| **关键用户流程** | 核心功能正常工作 |
| **性能** | 响应时间正常 |