name: deployment-sop description: 部署工作流程、部署前验证和冒烟测试模式。用于部署到暂存或生产环境、运行冒烟测试或验证部署时。
部署SOP技能
目的
指向现有的部署SOP并提供检查清单,以确保安全、验证的部署。此技能不复制SOP内容——它链接到权威来源。
适用场景
- 部署到暂存或生产环境
- 运行部署前验证
- 执行部署后冒烟测试
- 访问开发机器进行部署
- 协调发布活动
权威参考(必须阅读)
| 文档 | 位置 | 目的 |
|---|---|---|
| 语义发布SOP | docs/ci-cd/Semantic-Release-Deployment-SOP.md |
发布自动化工作流程 |
| 暂存/UAT发布SOP | docs/sop/STAGING-UAT-RELEASE-SOP.md |
UAT验证过程 |
| Linux开发机器访问 | docs/deployment/LINUX-DEV-MACHINE-ACCESS-SOP.md |
开发服务器访问 |
| 生产服务器访问 | docs/deployment/PRODUCTION-SERVER-ACCESS-SOP.md |
生产部署 |
部署前检查清单
在任意部署之前:
- [ ] 所有CI检查通过(GitHub Actions绿色)
- [ ] PR合并到目标分支
- [ ] Linear中没有未解决的阻碍
- [ ] 数据库迁移在本地测试
- [ ] 环境变量已验证
# 部署前验证
yarn ci:validate
yarn build
部署后冒烟测试
部署完成后:
- [ ] 健康端点响应:
curl https://{domain}/api/health - [ ] 数据库连接已验证(检查健康响应)
- [ ] 认证流程正常工作(登录/注册)
- [ ] 关键用户流程功能正常
- [ ] 日志中没有新错误
# 冒烟测试命令
curl -s https://{domain}/api/health | jq .
# 预期:{"status":"healthy","timestamp":"..."}
部署证据模板
用于Linear工单附件:
## 部署证据 - {{TICKET_PREFIX}}-XXX
### 环境
- **目标**: 暂存 / 生产
- **分支**: `{branch_name}`
- **提交**: `{commit_sha}`
### 部署前
- [x] CI检查通过
- [x] PR已合并
- [x] 迁移已验证
### 部署后
- [x] 健康检查: 通过
- [x] 认证流程: 通过
- [x] 冒烟测试: 通过
### 验证
curl -s https://{domain}/api/health
{"status":"healthy","timestamp":"2025-XX-XXTXX:XX:XX.XXXZ"}
回滚流程
如果部署失败:
- 识别失败 - 检查日志、监控仪表板
- 恢复提交 -
git revert {commit_sha} - 推送恢复 - 触发自动回滚部署
- 验证回滚 - 再次运行冒烟测试
- 记录事件 - 在Linear工单中更新证据
停止条件
禁止
- 部署时CI检查失败
- 跳过生产环境的冒烟测试
- 部署未在本地测试的数据库迁移
- 在活动事件上强制部署
必须
- 健康检查必须在5分钟内通过
- 生产部署必须首先有暂存验证
- 回滚计划必须在生产部署前记录
分支→环境映射
| 分支 | 环境 | 自动部署 |
|---|---|---|
dev |
暂存 | 手动拉取 |
main |
生产 | 自动 |
注意:合并到dev会构建Docker镜像,但在暂存服务器上需要手动拉取。