pangu-user-platform/docs/发布计划_2026-02-05.md

8.9 KiB
Raw Blame History

增量发布计划

发布日期: 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 发布前准备

# 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条

建议处理方式

  1. 此脚本可在本次发布中暂不执行
  2. 单独安排时间,在业务低峰期执行
  3. 执行前必须完成 pg_region 表的完整备份
  4. 执行后需验证学校管理功能正常

8.2 注意事项

  1. 发布前确保本地代码已全部提交并推送
  2. 建议选择业务低峰期(如晚间或周末)发布
  3. 发布后持续关注服务日志,确保无异常

文档生成时间: 2026-02-05