1.7 KiB
1.7 KiB
生产一键部署脚本后端实施记录
修改内容
- 新增生产一键部署脚本
bin/prod/deploy_from_package.sh - 新增部署脚本自测文件
bin/prod/deploy_from_package_test.sh - 脚本内固定
JAVA_BIN="/home/webapp/env/java/bin/java" - 新增脚本同目录唯一发布 zip 校验、包内唯一
jar校验 - 新增旧版后端
jar时间戳备份规则 - 新增后端 PID 文件、托管进程标记、停止旧进程、启动新进程和端口监听校验逻辑
实现说明
- 新脚本执行目录固定为脚本所在目录,要求同目录存在:
backend/frontend/- 1 个发布 zip
- 后端目标文件固定落到
backend/ruoyi-admin.jar - 旧版后端
jar通过ruoyi-admin.jar.<时间戳>.bak方式原地备份 - 启动时附加
-Dloan.pricing.home=<脚本目录>,用于识别当前脚本托管进程 - PID 文件固定写入
backend/backend.pid - 后端日志固定写入
backend/backend-console.log - 端口监听检测优先使用
ss,当前环境没有ss时改为使用lsof完成同一条校验
验证结果
- 已执行
sh -n bin/prod/deploy_from_package.sh,语法校验通过 - 已执行
sh bin/prod/deploy_from_package_test.sh - 自测覆盖以下场景:
- 正常部署场景:
- 旧版
jar被重命名为时间戳备份文件 - 新版
jar落到backend/ruoyi-admin.jar - 后端 PID 文件和日志文件生成成功
- 假后端进程启动成功并监听测试端口
- 旧版
- 异常场景:
- 脚本同目录存在多个发布 zip 时,脚本按预期失败并输出错误信息
- 正常部署场景:
- 自测使用临时目录和临时假
java进程,测试结束后已自动清理对应进程和目录