291 lines
8.9 KiB
Markdown
291 lines
8.9 KiB
Markdown
# 增量发布计划
|
||
|
||
**发布日期**: 2026-02-05
|
||
**目标服务器**: 192.168.71.56
|
||
**发布类型**: 增量发布
|
||
**编制人**: pangu
|
||
|
||
---
|
||
|
||
## 一、发布概览
|
||
|
||
| 项目 | 本地最新版本 | 服务器当前版本 | 待发布提交数 |
|
||
|------|-------------|---------------|-------------|
|
||
| pangu-user-platform (后端+管理后台) | add00c9 | 2026-02-03 22:29 部署 | 5 个 |
|
||
| user_authentication_center_front (H5前端) | 70fc1ad | 2026-02-03 22:04 部署 | 2 个 |
|
||
|
||
---
|
||
|
||
## 二、pangu-user-platform 发布内容
|
||
|
||
### 2.1 待发布提交清单
|
||
|
||
| 序号 | Commit ID | 提交说明 | 类型 |
|
||
|------|----------|---------|------|
|
||
| 1 | add00c9 | 新增学校自动添加年级 + 修复区域层级查询 + 清理区域数据 | feat |
|
||
| 2 | 72cb666 | 年级管理增加学段字段(小学/初中/高中/中专/大学) | feat |
|
||
| 3 | 80dd406 | 新增OpenApi基础数据接口 + 学生完整数据接口 + UI文案优化 | feat |
|
||
| 4 | 1a0b75e | 同步需求与技术方案文档 | docs |
|
||
| 5 | 6027a8c | 修改后端欢迎语为盘古后台管理系统 | refactor |
|
||
|
||
### 2.2 功能变更摘要
|
||
|
||
1. **学校管理优化**
|
||
- 新增学校时自动添加对应学段的年级
|
||
- 修复选择省/市时无法显示学校的Bug(支持区域层级查询)
|
||
- 区域树默认只展开湖北省,平行显示市级
|
||
|
||
2. **年级管理增强**
|
||
- 新增学段字段(小学/初中/高中/中专/大学)
|
||
- 支持按学段筛选年级
|
||
|
||
3. **OpenAPI接口扩展**
|
||
- 新增学校/年级/班级基础数据查询接口
|
||
- 新增学生完整数据接口(不脱敏,需特殊授权)
|
||
|
||
4. **UI文案优化**
|
||
- "教育身份" 改为 "任教信息"
|
||
- 后端欢迎语改为 "盘古后台管理系统"
|
||
|
||
### 2.3 数据库增量脚本
|
||
|
||
| 序号 | 脚本文件 | 说明 | 影响范围 | 风险等级 |
|
||
|------|---------|------|---------|---------|
|
||
| 1 | V1.0.3__open_api_dict.sql | OpenAPI接口字典数据 | pg_api_dict表 | 🟢 低 |
|
||
| 2 | V1.0.4__grade_add_stage.sql | 年级表增加学段字段 | pg_grade表结构 | 🟡 中 |
|
||
| 3 | V1.0.5__clean_region_data.sql | 清理非湖北省区域数据 | pg_region表 | 🔴 高 |
|
||
|
||
#### 脚本详细说明
|
||
|
||
**V1.0.3__open_api_dict.sql**
|
||
- 新增11条API字典记录
|
||
- 使用 `ON DUPLICATE KEY UPDATE` 幂等设计
|
||
- 可重复执行,无副作用
|
||
|
||
**V1.0.4__grade_add_stage.sql**
|
||
- 为 `pg_grade` 表新增 `stage` 字段
|
||
- 自动根据年级名称初始化学段数据
|
||
- ⚠️ 注意:执行前需确认 `pg_grade` 表无 `stage` 字段
|
||
|
||
**V1.0.5__clean_region_data.sql**
|
||
- ⚠️ **高风险脚本 - 物理删除操作**
|
||
- 删除所有非湖北省的区域数据(约3309条)
|
||
- 仅保留湖北省及其下级区域(约120条)
|
||
- ⚠️ **执行前必须备份 `pg_region` 表**
|
||
|
||
### 2.4 服务器部署路径
|
||
|
||
| 组件 | 路径 |
|
||
|------|------|
|
||
| 后端 JAR | /opt/pangu-user-platform/backend/pangu-admin.jar |
|
||
| 管理后台前端 | /opt/pangu-user-platform/frontend/admin-manage/ |
|
||
| 启动脚本 | /opt/pangu-user-platform/scripts/service.sh |
|
||
| 配置文件 | /opt/pangu-user-platform/backend/application-test.yml |
|
||
| 日志目录 | /opt/pangu-user-platform/backend/logs/ |
|
||
|
||
---
|
||
|
||
## 三、user_authentication_center_front 发布内容
|
||
|
||
### 3.1 待发布提交清单
|
||
|
||
| 序号 | Commit ID | 提交说明 | 类型 |
|
||
|------|----------|---------|------|
|
||
| 1 | 70fc1ad | 优化登录注册页面交互和弹窗内容 | feat |
|
||
| 2 | 842d64f | 允许通过IP地址访问H5前端 | fix |
|
||
|
||
### 3.2 功能变更摘要
|
||
|
||
1. **登录注册优化**
|
||
- 优化登录注册页面交互体验
|
||
- 改进弹窗内容展示
|
||
|
||
2. **访问限制修复**
|
||
- 允许通过IP地址直接访问H5前端
|
||
|
||
### 3.3 服务器部署路径
|
||
|
||
| 组件 | 路径 |
|
||
|------|------|
|
||
| H5前端 | /opt/pangu-user-platform/frontend/user-front/ |
|
||
|
||
---
|
||
|
||
## 四、发布步骤
|
||
|
||
### 4.1 发布前准备
|
||
|
||
```bash
|
||
# 1. 备份数据库
|
||
ssh root@192.168.71.56
|
||
mysqldump -h 8.148.25.55 -uroot -p pguser-db pg_region > /opt/backup/pg_region_$(date +%Y%m%d_%H%M%S).sql
|
||
mysqldump -h 8.148.25.55 -uroot -p pguser-db pg_grade > /opt/backup/pg_grade_$(date +%Y%m%d_%H%M%S).sql
|
||
mysqldump -h 8.148.25.55 -uroot -p pguser-db pg_api_dict > /opt/backup/pg_api_dict_$(date +%Y%m%d_%H%M%S).sql
|
||
|
||
# 2. 备份当前部署版本
|
||
cp -r /opt/pangu-user-platform/backend/pangu-admin.jar /opt/backup/pangu-admin.jar.bak
|
||
cp -r /opt/pangu-user-platform/frontend/admin-manage /opt/backup/admin-manage.bak
|
||
cp -r /opt/pangu-user-platform/frontend/user-front /opt/backup/user-front.bak
|
||
```
|
||
|
||
### 4.2 本地构建
|
||
|
||
```bash
|
||
# 1. 构建后端
|
||
cd /Users/felix/pgWorkSpace/pangu-user-platform/backend
|
||
./build.sh -q -f
|
||
|
||
# 2. 构建管理后台前端
|
||
cd /Users/felix/pgWorkSpace/pangu-user-platform/frontend
|
||
npm run build
|
||
|
||
# 3. 构建H5前端
|
||
cd /Users/felix/pgWorkSpace/user_authentication_center_front/user-front
|
||
npm run build
|
||
```
|
||
|
||
### 4.3 上传部署包
|
||
|
||
```bash
|
||
# 1. 上传后端JAR
|
||
scp /Users/felix/pgWorkSpace/pangu-user-platform/backend/pangu-admin/target/pangu-admin.jar root@192.168.71.56:/opt/pangu-user-platform/backend/
|
||
|
||
# 2. 上传管理后台前端
|
||
scp -r /Users/felix/pgWorkSpace/pangu-user-platform/frontend/dist/* root@192.168.71.56:/opt/pangu-user-platform/frontend/admin-manage/
|
||
|
||
# 3. 上传H5前端
|
||
scp -r /Users/felix/pgWorkSpace/user_authentication_center_front/user-front/dist/* root@192.168.71.56:/opt/pangu-user-platform/frontend/user-front/
|
||
|
||
# 4. 上传SQL脚本
|
||
scp /Users/felix/pgWorkSpace/pangu-user-platform/scripts/sql/V1.0.*.sql root@192.168.71.56:/opt/pangu-user-platform/scripts/
|
||
```
|
||
|
||
### 4.4 执行数据库脚本
|
||
|
||
```bash
|
||
ssh root@192.168.71.56
|
||
|
||
# 按顺序执行SQL脚本
|
||
mysql -h 8.148.25.55 -uroot -paly2024A pguser-db < /opt/pangu-user-platform/scripts/V1.0.3__open_api_dict.sql
|
||
mysql -h 8.148.25.55 -uroot -paly2024A pguser-db < /opt/pangu-user-platform/scripts/V1.0.4__grade_add_stage.sql
|
||
|
||
# ⚠️ V1.0.5 需要单独确认后执行(高风险)
|
||
# mysql -h 8.148.25.55 -uroot -paly2024A pguser-db < /opt/pangu-user-platform/scripts/V1.0.5__clean_region_data.sql
|
||
```
|
||
|
||
### 4.5 重启服务
|
||
|
||
```bash
|
||
ssh root@192.168.71.56
|
||
|
||
# 重启后端服务
|
||
cd /opt/pangu-user-platform/scripts
|
||
./service.sh restart
|
||
|
||
# 检查服务状态
|
||
./service.sh status
|
||
|
||
# 查看启动日志
|
||
./service.sh logs
|
||
```
|
||
|
||
### 4.6 验证测试
|
||
|
||
| 验证项 | 验证方法 | 预期结果 |
|
||
|--------|---------|---------|
|
||
| 后端服务 | `curl http://localhost:9083/actuator/health` | {"status":"UP"} |
|
||
| 管理后台登录 | 浏览器访问管理后台 | 正常登录 |
|
||
| 学校管理-区域树 | 查看区域树展开状态 | 默认展开湖北省 |
|
||
| 学校管理-层级查询 | 选择武汉市查看学校 | 显示武汉市下所有学校 |
|
||
| 年级管理-学段 | 查看年级列表 | 显示学段列 |
|
||
| OpenAPI接口 | 调用新增的接口 | 正常返回数据 |
|
||
| H5前端登录 | 浏览器访问H5 | 正常登录 |
|
||
|
||
---
|
||
|
||
## 五、回滚方案
|
||
|
||
### 5.1 后端回滚
|
||
|
||
```bash
|
||
ssh root@192.168.71.56
|
||
cd /opt/pangu-user-platform/scripts
|
||
|
||
# 停止服务
|
||
./service.sh stop
|
||
|
||
# 恢复JAR包
|
||
cp /opt/backup/pangu-admin.jar.bak /opt/pangu-user-platform/backend/pangu-admin.jar
|
||
|
||
# 启动服务
|
||
./service.sh start
|
||
```
|
||
|
||
### 5.2 前端回滚
|
||
|
||
```bash
|
||
# 恢复管理后台前端
|
||
rm -rf /opt/pangu-user-platform/frontend/admin-manage/*
|
||
cp -r /opt/backup/admin-manage.bak/* /opt/pangu-user-platform/frontend/admin-manage/
|
||
|
||
# 恢复H5前端
|
||
rm -rf /opt/pangu-user-platform/frontend/user-front/*
|
||
cp -r /opt/backup/user-front.bak/* /opt/pangu-user-platform/frontend/user-front/
|
||
```
|
||
|
||
### 5.3 数据库回滚
|
||
|
||
```bash
|
||
# 恢复pg_grade表(如果执行了V1.0.4)
|
||
mysql -h 8.148.25.55 -uroot -paly2024A pguser-db -e "ALTER TABLE pg_grade DROP COLUMN stage;"
|
||
|
||
# 恢复pg_region表(如果执行了V1.0.5)
|
||
mysql -h 8.148.25.55 -uroot -paly2024A pguser-db < /opt/backup/pg_region_YYYYMMDD_HHMMSS.sql
|
||
```
|
||
|
||
---
|
||
|
||
## 六、风险评估
|
||
|
||
| 风险项 | 风险等级 | 应对措施 |
|
||
|--------|---------|---------|
|
||
| 数据库结构变更 | 🟡 中 | 执行前备份相关表 |
|
||
| 区域数据物理删除 | 🔴 高 | 必须备份,可单独安排执行 |
|
||
| 后端服务中断 | 🟢 低 | 使用热部署,中断时间<30秒 |
|
||
| 前端静态资源更新 | 🟢 低 | nginx无需重启,刷新即生效 |
|
||
|
||
---
|
||
|
||
## 七、审批确认
|
||
|
||
| 角色 | 姓名 | 确认签字 | 日期 |
|
||
|------|------|---------|------|
|
||
| 开发负责人 | | | |
|
||
| 测试负责人 | | | |
|
||
| 运维负责人 | | | |
|
||
| 项目经理 | | | |
|
||
|
||
---
|
||
|
||
## 八、特别说明
|
||
|
||
### 8.1 关于 V1.0.5__clean_region_data.sql
|
||
|
||
此脚本将**物理删除**所有非湖北省的区域数据(约3309条),仅保留湖北省及其下级区域(约120条)。
|
||
|
||
**建议处理方式**:
|
||
1. 此脚本可在本次发布中暂不执行
|
||
2. 单独安排时间,在业务低峰期执行
|
||
3. 执行前必须完成 `pg_region` 表的完整备份
|
||
4. 执行后需验证学校管理功能正常
|
||
|
||
### 8.2 注意事项
|
||
|
||
1. 发布前确保本地代码已全部提交并推送
|
||
2. 建议选择业务低峰期(如晚间或周末)发布
|
||
3. 发布后持续关注服务日志,确保无异常
|
||
|
||
---
|
||
|
||
*文档生成时间: 2026-02-05*
|