# 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.sh`、`startservernohup.sh` ### 2.3 新增脚本回归测试 涉及文件: - `tests/deploy/test_deploy_to_nas_tongweb.py` 实施内容: - 覆盖默认参数 `dry-run` - 覆盖自定义参数 `dry-run` - 校验部署入口已调用 `remote-deploy-tongweb.py` - 校验远端执行器包含 `autodeploy`、`stopserver.sh`、`startservernohup.sh` ## 3. 验证命令 ```bash 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 部署脚本