简化生产一键部署脚本
This commit is contained in:
@@ -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 失败场景仍然通过
|
||||
Reference in New Issue
Block a user