From ccc5a23a77eb7b69034ba2f5964c5e638ceb5b3e Mon Sep 17 00:00:00 2001 From: duxingchen Date: Tue, 1 Sep 2026 18:26:53 +0800 Subject: [PATCH] =?UTF-8?q?deploy:=20Track=20=E9=83=A8=E7=BD=B2=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=E6=94=B9=E4=B8=BA=E5=85=8D=20sudo(=E4=B8=8E=20MOM=20d?= =?UTF-8?q?eploy=5Fcode.sh=20=E4=B8=80=E8=87=B4)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 去掉所有 sudo 与 ssh -t - 前提:服务器 /opt/Track 属主改为 dxc(一次性 chown) --- deploy.sh | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/deploy.sh b/deploy.sh index 50e4cca..9915904 100644 --- a/deploy.sh +++ b/deploy.sh @@ -1,8 +1,8 @@ #!/bin/bash # ============================================================ -# Track 生产流转系统 — 增量部署脚本 +# Track 生产流转系统 — 增量部署脚本(免 sudo,与 MOM deploy_code.sh 一致) # 服务器: 172.16.0.198 -# 路径: /opt/Track +# 路径: /opt/Track (需属主 dxc,见 README 一次性 chown) # 仅更新代码,不覆盖数据库 # ============================================================ set -e @@ -18,11 +18,11 @@ echo "===================================================" # 1. 远端备份 echo "[1/4] 服务器备份旧代码..." -ssh -t $SERVER "sudo mkdir -p $REMOTE_BACKUP_DIR && \ +ssh $SERVER "mkdir -p $REMOTE_BACKUP_DIR && \ cd $REMOTE_DIR && \ echo '>> 备份当前代码...' && \ # ★ 必须排除大目录:否则会把 backend/venv(140M)+frontend/node_modules(519M)一起打包,备份极慢 - sudo tar -czf $REMOTE_BACKUP_DIR/code_backup.tar.gz \ + tar -czf $REMOTE_BACKUP_DIR/code_backup.tar.gz \ --exclude='backend/venv' \ --exclude='backend/.venv' \ --exclude='backend/__pycache__' \ @@ -33,7 +33,7 @@ ssh -t $SERVER "sudo mkdir -p $REMOTE_BACKUP_DIR && \ backend frontend docker-compose.prod.yml 2>/dev/null || true && \ echo '>> 保留最近 3 个备份...' && \ cd $REMOTE_DIR/backups && \ - sudo sh -c 'ls -dt */ 2>/dev/null | tail -n +4 | xargs -I {} rm -rf {} || true'" + sh -c 'ls -dt */ 2>/dev/null | tail -n +4 | xargs -I {} rm -rf {} || true'" if [ $? -ne 0 ]; then echo "❌ 备份失败,终止!"; exit 1; fi @@ -65,18 +65,18 @@ if [ $? -ne 0 ]; then echo "❌ 上传失败!"; rm -f deploy.tar.gz; exit 1; f # 4. 替换重启 echo "[4/4] 服务器替换并重启..." -ssh -t $SERVER "cd $REMOTE_DIR && \ +ssh $SERVER "cd $REMOTE_DIR && \ echo '>> 移除旧备份...' && \ - sudo rm -rf backend_old frontend_old && \ + rm -rf backend_old frontend_old && \ echo '>> 保留当前为 old...' && \ - (sudo mv backend backend_old 2>/dev/null || true) && \ - (sudo mv frontend frontend_old 2>/dev/null || true) && \ + (mv backend backend_old 2>/dev/null || true) && \ + (mv frontend frontend_old 2>/dev/null || true) && \ echo '>> 解压新代码...' && \ - sudo mv /tmp/deploy.tar.gz . && \ - sudo tar -xzf deploy.tar.gz && \ + mv /tmp/deploy.tar.gz . && \ + tar -xzf deploy.tar.gz && \ echo '>> 重启 Docker...' && \ - sudo docker compose -f docker-compose.prod.yml up -d --build && \ - sudo rm deploy.tar.gz && \ + docker compose -f docker-compose.prod.yml up -d --build && \ + rm deploy.tar.gz && \ echo '>> ✅ 部署完成!'" rm -f deploy.tar.gz