# 生产一键部署脚本简化实施记录

## 修改内容
- 简化 `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 失败场景仍然通过
