Files
loan-pricing/doc/implementation-report-2026-04-01-production-one-click-deploy-ps-ef.md
2026-04-01 10:49:25 +08:00

1.2 KiB

生产一键部署脚本改用 ps -ef 识别进程实施记录

修改内容

  • 更新 bin/prod/deploy_from_package.sh
  • 将后端进程识别与收集方式从 pgrep 改为 ps -ef
  • 删除脚本对 pgrep 命令的前置依赖
  • 更新 bin/prod/deploy_from_package_test.sh
  • 新增断言,要求脚本不能再依赖 pgrep,并必须包含 ps -ef 进程识别逻辑

调整原因

  • 用户要求使用 ps -ef 判断进程
  • 旧实现依赖 pgrep -f 收集托管进程,不符合当前要求

实现说明

  • is_managed_backend_pid 现在通过 ps -ef | awk 按 PID 读取目标进程行
  • collect_backend_pids 现在通过 ps -ef | awk 同时匹配:
    • -Dloan.pricing.home=<脚本目录>
    • backend/ruoyi-admin.jar
  • 只有同时满足托管标记和目标 jar 路径的进程才会被纳入停止范围

验证结果

  • 已执行 sh -n bin/prod/deploy_from_package.sh
  • 已执行 sh bin/prod/deploy_from_package_test.sh
  • 自测结果确认:
    • 脚本中已不存在 pgrep
    • 脚本中已使用 ps -ef
    • 正常部署链路仍然通过
    • 多个发布 zip 失败场景仍然通过
    • netstat 端口检测回退场景仍然通过