# 部署:本机 rsync 直传(默认不走 Gitea) **日期**:2026-06-21 ## 摘要 生产部署默认从本机工作区 `rsync` 到服务器,远程 `nexus-1panel.sh upgrade --skip-git` 重建镜像;不再依赖 `git push` + 远程 `git pull`。 ## 动机 用户要求平时不推 Gitea;部署时直接同步本机已验证代码即可。 ## 涉及文件 | 路径 | 说明 | |------|------| | `deploy/rsync-local-to-server.sh` | 新建:rsync 到 `/opt/nexus`,排除 `.env` / `docker/.env.prod` / `web/data` | | `deploy/deploy-production.sh` | 默认 rsync;`NEXUS_DEPLOY_VIA_GIT=1` 可恢复旧流程 | | `deploy/nexus-1panel.sh` | `upgrade --skip-git` 跳过 git fetch/reset | | `AGENTS.md`、`.cursorrules` | 部署说明更新 | ## 用法 ```bash bash deploy/pre_deploy_check.sh bash deploy/deploy-production.sh ``` ## 保护项(不同步/不改属主) - `docker/.env.prod`、`web/data/`、`.env`、secrets ## 属主 - **子机跨传**:`NEXUS_RSYNC_PUSH_CHOWN`(默认 `www:www`),见 `docs/changelog/2026-06-21-server-transfer-www-permissions.md` - **中心机部署**:有 `www` 用户则 `www:www`,否则用部署目录现有属主(Azure 为 `azureuser:azureuser`);`NEXUS_DEPLOY_CHOWN` 可覆盖 ## 传输方式 本机 `tar | ssh sudo tar -x`(不依赖远程 rsync 命令)。 ## 验证 `bash -n deploy/*.sh`;用户批准后执行完整 deploy 并检查 `/health`、`/app/`。 ## 回滚 服务器保留 Docker 回滚镜像;或本机 checkout 旧版再 rsync 部署。