49 lines
1.5 KiB
Markdown
49 lines
1.5 KiB
Markdown
# 部署:本机 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 部署。
|