# Deploy To NAS Shell 入口实施记录

## 本次改动

- 新增 `deploy/deploy-to-nas.sh`，提供适用于当前 Unix 环境的 NAS 部署入口。
- 保留原有默认参数：`host`、`port`、`username`、`password`、`remoteRoot`。
- 保持与原 BAT 一致的位置参数协议，并继续支持 `--dry-run` 快速校验。
- 在 Shell 入口内完成本地环境检查、后端打包、前端打包、部署目录组装、`paramiko` 依赖检查与远端部署调用。
- 复用现有 `deploy/remote-deploy.py`，不改动 NAS 端上传与 Docker Compose 执行逻辑。
- 新增 `tests/deploy/test_deploy_to_nas.py`，覆盖默认参数和覆盖参数两类 `dry-run` 行为。

## 变更文件

- `deploy/deploy-to-nas.sh`
- `tests/deploy/test_deploy_to_nas.py`

## 验证结果

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

## 说明

- 当前环境未预装 `paramiko`，脚本会在真实部署前自动执行 `python3 -m pip install --user paramiko`。
- 本次未执行真实 NAS 部署，只完成了脚本级与 `dry-run` 级验证，避免在未明确要求下直接触发线上构建上传。
