Files
loan-pricing/doc/implementation-report-2026-04-01-production-one-click-deploy-simplify.md
2026-04-01 10:53:00 +08:00

1.5 KiB

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

修改内容

  • 简化 bin/prod/deploy_from_package.sh
  • 删除端口检测逻辑,不再依赖 sslsofnetstat
  • 删除前端解压兼容逻辑,不再探测多种 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 文件

删除的复杂逻辑

  • 不再等待端口监听成功
  • 不再兼容 sslsofnetstat 三种端口检测方式
  • 不再兼容 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 失败场景仍然通过