docs: add Phase 1 deployment guide and rollback procedure

This commit is contained in:
张翔
2026-03-10 17:41:13 +08:00
parent c09b6d33c0
commit 869864a695
2 changed files with 266 additions and 0 deletions
+133
View File
@@ -0,0 +1,133 @@
# Phase 1 核心功能部署指南
> **部署时间:** Week 1
> **部署内容:** 首页、关于我们、联系表单
> **风险等级:** 低
## 部署前检查清单
### 代码质量
- [x] 测试通过率 100%
- [x] 性能指标达标
- [x] CI/CD流程通过
- [x] 代码已合并到main分支
### 监控告警
- [x] Sentry错误监控配置
- [x] UptimeRobot可用性监控配置
- [x] Next.js Analytics性能监控配置
- [x] 告警通知配置正确
### 安全检查
- [x] 环境变量配置正确
- [x] 敏感信息已移除
- [x] CSRF保护启用
- [x] 输入验证启用
### 备份准备
- [ ] 数据库备份完成
- [ ] 配置文件备份完成
- [ ] 回滚脚本准备完成
## 部署步骤
### Step 1: 创建部署分支
Run:
```bash
git checkout -b deploy/phase1
git merge main
```
### Step 2: 构建生产版本
Run:
```bash
npm ci
npm run build
```
Expected: 构建成功,无错误
### Step 3: 部署到生产环境
Run:
```bash
# 根据实际部署环境调整以下命令
# 例如:使用Docker部署
docker build -t novalon-website:phase1 .
docker tag novalon-website:phase1 registry.example.com/novalon-website:phase1
docker push registry.example.com/novalon-website:phase1
# 或使用传统部署
# rsync -avz --delete .next/ user@server:/var/www/novalon-website/
```
Expected: 部署成功
### Step 4: 验证部署
Run:
```bash
# 访问生产环境URL
# https://www.novalon.cn
# 验证以下功能:
# 1. 首页正常加载
# 2. 关于我们页面正常
# 3. 联系表单正常
# 4. 监控指标正常
```
Expected: 所有功能正常工作
### Step 5: 启用监控
Run:
```bash
# 访问Sentry Dashboard
# https://sentry.io/
# 访问UptimeRobot Dashboard
# https://uptimerobot.com/dashboard
# 访问Next.js Analytics
# https://vercel.com/analytics
```
Expected: 监控系统正常工作
## 部署后验证
### 功能验证
- [ ] 首页可访问
- [ ] 关于我们页面可访问
- [ ] 联系表单可提交
- [ ] 移动端适配正常
### 性能验证
- [ ] 首页加载时间 < 2s
- [ ] 关于页面加载时间 < 2s
- [ ] 联系页面加载时间 < 2s
- [ ] P95响应时间 < 500ms
### 监控验证
- [ ] Sentry错误监控正常
- [ ] UptimeRobot监控状态为"Up"
- [ ] Next.js Analytics显示数据
- [ ] 告警通知正常
## 回滚触发条件
如果出现以下情况,立即执行回滚:
1. 关键功能不可用(首页、关于、联系)
2. 错误率 > 5%
3. P95响应时间 > 2s
4. 安全漏洞发现
5. 用户反馈严重问题 > 10个/小时
## 联系人
- 技术负责人: [待填写]
- 运维负责人: [待填写]
- 业务负责人: [待填写]
+133
View File
@@ -0,0 +1,133 @@
# 回滚流程指南
> **触发条件:** 部署后出现严重问题
> **响应时间:** < 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指向备用服务器
## 回滚后验证
### 功能验证
- [ ] 所有核心功能正常
- [ ] 数据完整性验证
- [ ] 监控指标正常
### 通知
- [ ] 通知技术团队
- [ ] 通知业务团队
- [ ] 通知管理层
- [ ] 记录回滚原因
## 回滚后分析
### 问题分析
- 问题原因: [待填写]
- 影响范围: [待填写]
- 影响用户数: [待填写]
### 改进措施
- 预防措施: [待填写]
- 测试改进: [待填写]
- 流程改进: [待填写]