提交
This commit is contained in:
1 parent
683f14828f
commit
fdf7d391a6
40 files changed
+6242
-19470
No files matched your search
@@ -0,0 +1,25 @@
|
||||
# 生产一键发版脚本设计
|
||||
|
||||
日期:2026-08-08
|
||||
脚本:`生产环境部署/deploy-release.sh`
|
||||
|
||||
## 目标
|
||||
|
||||
在 macOS 本机一键完成生产环境前后端更新:先前端后后端,发版前备份,保留远程 `web/dist/src`。
|
||||
|
||||
## 流程
|
||||
|
||||
1. 解析仓库根目录 `生产机器账号密码`(IP + root 密码)
|
||||
2. 本地 `web-admin` 执行 `pnpm build`(可用 `--skip-build` 跳过)
|
||||
3. 备份远程 `/iflytek/shanxia2.0/web` → `bak/web-YYYYMMDD-HHMMSS`
|
||||
4. `rsync --delete --exclude 'src/'` 同步到 `web/dist`
|
||||
5. 备份远程 `backend` → `bak/backend-YYYYMMDD-HHMMSS`
|
||||
6. 删除远程 `backend/app`,同步本地 `backend/app`
|
||||
7. `PORT=9111 WORKERS=1 ENV_FILE=./.env.production ./start-prod.sh restart`
|
||||
8. `curl http://127.0.0.1:9111/health`
|
||||
|
||||
## 约束
|
||||
|
||||
- 凭据不写进脚本;`生产机器账号密码` 已加入 `.gitignore`
|
||||
- 仅替换 `app/`,不覆盖远程 `venv` / `.env.production` / `logs` / `uploads`
|
||||
- 依赖本机:`ssh`、`rsync`、`sshpass`、`pnpm`
|
||||
Reference in new issue
Block a user