简化生产一键部署脚本

This commit is contained in:
wkc
2026-04-01 10:53:00 +08:00
parent 3a8f37f547
commit 9b35d04e50
3 changed files with 53 additions and 162 deletions

View File

@@ -0,0 +1,38 @@
# 生产一键部署脚本简化实施记录
## 修改内容
- 简化 `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 失败场景仍然通过