8.9 KiB
8.9 KiB
增量发布计划
发布日期: 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 功能变更摘要
-
学校管理优化
- 新增学校时自动添加对应学段的年级
- 修复选择省/市时无法显示学校的Bug(支持区域层级查询)
- 区域树默认只展开湖北省,平行显示市级
-
年级管理增强
- 新增学段字段(小学/初中/高中/中专/大学)
- 支持按学段筛选年级
-
OpenAPI接口扩展
- 新增学校/年级/班级基础数据查询接口
- 新增学生完整数据接口(不脱敏,需特殊授权)
-
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 功能变更摘要
-
登录注册优化
- 优化登录注册页面交互体验
- 改进弹窗内容展示
-
访问限制修复
- 允许通过IP地址直接访问H5前端
3.3 服务器部署路径
| 组件 | 路径 |
|---|---|
| H5前端 | /opt/pangu-user-platform/frontend/user-front/ |
四、发布步骤
4.1 发布前准备
# 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 本地构建
# 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 上传部署包
# 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 执行数据库脚本
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 重启服务
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 后端回滚
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 前端回滚
# 恢复管理后台前端
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 数据库回滚
# 恢复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条)。
建议处理方式:
- 此脚本可在本次发布中暂不执行
- 单独安排时间,在业务低峰期执行
- 执行前必须完成
pg_region表的完整备份 - 执行后需验证学校管理功能正常
8.2 注意事项
- 发布前确保本地代码已全部提交并推送
- 建议选择业务低峰期(如晚间或周末)发布
- 发布后持续关注服务日志,确保无异常
文档生成时间: 2026-02-05