134 lines
2.0 KiB
Markdown
134 lines
2.0 KiB
Markdown
# 回滚流程指南
|
|
|
|
> **触发条件:** 部署后出现严重问题
|
|
> **响应时间:** < 30分钟
|
|
|
|
## 回滚类型
|
|
|
|
### Type 1: 代码回滚(推荐)
|
|
|
|
适用于:代码缺陷、功能问题
|
|
|
|
**Step 1: 停止新版本**
|
|
|
|
Run:
|
|
```bash
|
|
# Docker环境
|
|
docker stop novalon-website
|
|
|
|
# 传统环境
|
|
pm2 stop novalon-website
|
|
```
|
|
|
|
**Step 2: 切换到上一个稳定版本**
|
|
|
|
Run:
|
|
```bash
|
|
git checkout v-test-phase-2-complete
|
|
npm ci
|
|
npm run build
|
|
```
|
|
|
|
**Step 3: 重新部署**
|
|
|
|
Run:
|
|
```bash
|
|
# Docker环境
|
|
docker build -t novalon-website:rollback .
|
|
docker run -d -p 3000:3000 novalon-website:rollback
|
|
|
|
# 传统环境
|
|
npm run start
|
|
```
|
|
|
|
**Step 4: 验证回滚**
|
|
|
|
Run:
|
|
```bash
|
|
curl https://www.novalon.cn/health
|
|
```
|
|
|
|
Expected: 健康检查返回200
|
|
|
|
### Type 2: 数据库回滚
|
|
|
|
适用于:数据损坏、数据丢失
|
|
|
|
**Step 1: 停止应用**
|
|
|
|
Run:
|
|
```bash
|
|
docker stop novalon-website
|
|
```
|
|
|
|
**Step 2: 恢复数据库备份**
|
|
|
|
Run:
|
|
```bash
|
|
# 恢复最近的成功备份
|
|
docker exec postgres pg_restore -U postgres -d novalon /backup/backup-$(date +%Y%m%d-%H%M).sql
|
|
```
|
|
|
|
**Step 3: 重启应用**
|
|
|
|
Run:
|
|
```bash
|
|
docker start novalon-website
|
|
```
|
|
|
|
**Step 4: 验证数据**
|
|
|
|
Run:
|
|
```bash
|
|
# 检查关键数据是否存在
|
|
curl https://www.novalon.cn/api/health
|
|
```
|
|
|
|
Expected: 数据正常
|
|
|
|
### Type 3: DNS回滚(紧急)
|
|
|
|
适用于:严重故障,需要快速切换
|
|
|
|
**Step 1: 更新DNS记录**
|
|
|
|
Run:
|
|
```bash
|
|
# 将www.novalon.cn指向备用服务器
|
|
# 备用服务器IP: [待填写]
|
|
```
|
|
|
|
**Step 2: 验证切换**
|
|
|
|
Run:
|
|
```bash
|
|
nslookup www.novalon.cn
|
|
```
|
|
|
|
Expected: DNS指向备用服务器
|
|
|
|
## 回滚后验证
|
|
|
|
### 功能验证
|
|
- [ ] 所有核心功能正常
|
|
- [ ] 数据完整性验证
|
|
- [ ] 监控指标正常
|
|
|
|
### 通知
|
|
- [ ] 通知技术团队
|
|
- [ ] 通知业务团队
|
|
- [ ] 通知管理层
|
|
- [ ] 记录回滚原因
|
|
|
|
## 回滚后分析
|
|
|
|
### 问题分析
|
|
- 问题原因: [待填写]
|
|
- 影响范围: [待填写]
|
|
- 影响用户数: [待填写]
|
|
|
|
### 改进措施
|
|
- 预防措施: [待填写]
|
|
- 测试改进: [待填写]
|
|
- 流程改进: [待填写]
|