From 869864a695c4a4237febf720731de11deebc69ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E7=BF=94?= Date: Tue, 10 Mar 2026 17:41:13 +0800 Subject: [PATCH] docs: add Phase 1 deployment guide and rollback procedure --- docs/deployment/phase1-deployment-guide.md | 133 +++++++++++++++++++++ docs/deployment/rollback-procedure.md | 133 +++++++++++++++++++++ 2 files changed, 266 insertions(+) create mode 100644 docs/deployment/phase1-deployment-guide.md create mode 100644 docs/deployment/rollback-procedure.md diff --git a/docs/deployment/phase1-deployment-guide.md b/docs/deployment/phase1-deployment-guide.md new file mode 100644 index 0000000..c738f03 --- /dev/null +++ b/docs/deployment/phase1-deployment-guide.md @@ -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个/小时 + +## 联系人 + +- 技术负责人: [待填写] +- 运维负责人: [待填写] +- 业务负责人: [待填写] diff --git a/docs/deployment/rollback-procedure.md b/docs/deployment/rollback-procedure.md new file mode 100644 index 0000000..f974fe6 --- /dev/null +++ b/docs/deployment/rollback-procedure.md @@ -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指向备用服务器 + +## 回滚后验证 + +### 功能验证 +- [ ] 所有核心功能正常 +- [ ] 数据完整性验证 +- [ ] 监控指标正常 + +### 通知 +- [ ] 通知技术团队 +- [ ] 通知业务团队 +- [ ] 通知管理层 +- [ ] 记录回滚原因 + +## 回滚后分析 + +### 问题分析 +- 问题原因: [待填写] +- 影响范围: [待填写] +- 影响用户数: [待填写] + +### 改进措施 +- 预防措施: [待填写] +- 测试改进: [待填写] +- 流程改进: [待填写]