63 lines
1.8 KiB
Markdown
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 部署脚本
|