1.5 KiB
1.5 KiB
生产一键部署脚本简化实施记录
修改内容
- 简化
bin/prod/deploy_from_package.sh - 删除端口检测逻辑,不再依赖
ss、lsof或netstat - 删除前端解压兼容逻辑,不再探测多种
dist.zip目录结构 - 保留并简化进程识别逻辑,直接使用
ps -ef - 简化
bin/prod/deploy_from_package_test.sh - 删除端口监听断言和端口检测回退场景
- 新增脚本文本断言,确认已移除端口检测和解压兼容 helper
当前脚本边界
- 仍然保留以下核心能力:
- 脚本同目录唯一发布 zip 校验
- 发布包内唯一
jar和唯一dist.zip校验 - 旧版后端
jar时间戳备份 - 旧版
frontend/dist时间戳备份 - 使用
ps -ef停止旧后端进程 - 替换新
jar - 将
dist.zip直接解压到frontend/ - 启动新的 Java 进程并写入 PID 文件
删除的复杂逻辑
- 不再等待端口监听成功
- 不再兼容
ss、lsof、netstat三种端口检测方式 - 不再兼容
dist.zip根目录、dist/index.html和自动find index.html多种结构 - 当前前端解压只接受一种约定:
dist.zip解压到frontend/后必须得到frontend/dist/
验证结果
- 已执行
sh -n bin/prod/deploy_from_package.sh - 已执行
sh bin/prod/deploy_from_package_test.sh - 自测确认:
- 脚本使用
ps -ef - 脚本中已移除端口检测 helper
- 脚本中已移除前端解压兼容 helper
- 正常部署链路仍然通过
- 多个发布 zip 失败场景仍然通过
- 脚本使用