Files
ccdi/docs/plans/backend/2026-04-14-nas-tongweb-deploy-script-implementation.md
2026-04-17 10:18:13 +08:00

1.8 KiB

2026-04-14 NAS TongWeb 部署脚本实施记录

1. 目标

  • 新增一套独立于 Docker 的 NAS 部署脚本
  • 部署链路固定使用 ruoyi-admin.war
  • 远端通过 TongWeb 自动部署目录发布应用,并使用 stopserver.sh / startservernohup.sh 重启服务

2. 实施内容

2.1 新增 TongWeb NAS 部署入口

涉及文件:

  • deploy/deploy-to-nas-tongweb.sh

实施内容:

  • 提供与现有 NAS 脚本一致的 SSH 连接参数风格
  • 默认执行 mvn -pl ruoyi-admin -am package -DskipTests
  • 本地仅校验并上传 ruoyi-admin/target/ruoyi-admin.war
  • 支持 --dry-run 预览参数

2.2 新增 TongWeb 远端执行器

涉及文件:

  • deploy/remote-deploy-tongweb.py

实施内容:

  • 通过 SFTP 将 war 上传到 NAS 临时目录 ${remoteRoot}/backend/
  • 远端复制 war${TONGWEB_HOME}/autodeploy/${appName}.war
  • 清理 ${TONGWEB_HOME}/autodeploy/${appName} 旧解压目录
  • 依次执行 stopserver.shstartservernohup.sh

2.3 新增脚本回归测试

涉及文件:

  • tests/deploy/test_deploy_to_nas_tongweb.py

实施内容:

  • 覆盖默认参数 dry-run
  • 覆盖自定义参数 dry-run
  • 校验部署入口已调用 remote-deploy-tongweb.py
  • 校验远端执行器包含 autodeploystopserver.shstartservernohup.sh

3. 验证命令

python3 -m pytest tests/deploy/test_deploy_to_nas_tongweb.py -q
bash -n deploy/deploy-to-nas-tongweb.sh
bash deploy/deploy-to-nas-tongweb.sh --dry-run

4. 说明

  • 默认 TongWebHome/opt/TongWeb,可通过第 6 个位置参数或环境变量 TONGWEB_HOME 覆盖
  • 默认应用名为 ruoyi-admin,可通过第 7 个位置参数或环境变量 APP_NAME 覆盖
  • 本次只新增 TongWeb 后端部署链路,不改动现有 Docker NAS 部署脚本