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

63 lines
1.8 KiB
Markdown

# 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 部署脚本