瀏覽代碼

fix(deploy): deploy-prod.sh 误排除 test-tools.controller.js 同样问题

和 deploy.sh 一样的问题:--exclude='test-*.js' 会把 test-tools.controller.js
这种业务 controller 误伤掉。同时为避免大包 SSH buffer 撑爆,新增排除
uploads/coverage/.playwright-cli/cache/temp/logs/tmp 目录。
caoyg 2 月之前
父節點
當前提交
202bb674b7
共有 1 個文件被更改,包括 10 次插入5 次删除
  1. 10 5
      deploy-prod.sh

+ 10 - 5
deploy-prod.sh

@@ -42,9 +42,14 @@ ssh -i "$SSH_KEY" -p "$SSH_PORT" root@$REMOTE_HOST "mkdir -p $TEMP_DIR"
 mkdir -p "$LOCAL_PROJECT/tmp"
 
 # 打包后端(使用已有的 dist,打包所有必要文件,排除 node_modules, .git, *.ts)
-echo "打包后端文件..."
+echo "打包后端文件(排除大目录,避免 SSH buffer 撑爆)..."
 cd "$LOCAL_PROJECT/server"
-tar --exclude='node_modules' --exclude='.git' --exclude='test-*.js' -czf "$LOCAL_PROJECT/tmp/server.tar.gz" .
+tar \
+  --exclude='node_modules' --exclude='.git' \
+  --exclude='uploads' --exclude='coverage' --exclude='.playwright-cli' \
+  --exclude='cache' --exclude='temp' --exclude='logs' --exclude='tmp' \
+  --exclude='_*.txt' --exclude='_*.cjs' --exclude='_*.mjs' --exclude='_*.json' \
+  -czf "$LOCAL_PROJECT/tmp/server.tar.gz" .
 cd "$LOCAL_PROJECT"
 
 # 打包前端(只打包 build/h5 目录内容,对接 nginx root)
@@ -53,11 +58,11 @@ cd "$LOCAL_PROJECT/my-uniapp-vue3/dist/build/h5"
 tar -czf "$LOCAL_PROJECT/tmp/frontend.tar.gz" .
 cd "$LOCAL_PROJECT"
 
-# 上传到服务器
+# 上传到服务器(用 -C 调小 SSH 压缩级别,避免大包 buffer 撑爆)
 echo "上传后端..."
-scp -i "$SSH_KEY" -P "$SSH_PORT" "$LOCAL_PROJECT/tmp/server.tar.gz" root@$REMOTE_HOST:$TEMP_DIR/
+scp -i "$SSH_KEY" -P "$SSH_PORT" -C -o "CompressionLevel=3" "$LOCAL_PROJECT/tmp/server.tar.gz" root@$REMOTE_HOST:$TEMP_DIR/
 echo "上传前端..."
-scp -i "$SSH_KEY" -P "$SSH_PORT" "$LOCAL_PROJECT/tmp/frontend.tar.gz" root@$REMOTE_HOST:$TEMP_DIR/
+scp -i "$SSH_KEY" -P "$SSH_PORT" -C -o "CompressionLevel=3" "$LOCAL_PROJECT/tmp/frontend.tar.gz" root@$REMOTE_HOST:$TEMP_DIR/
 
 # 清理本地临时文件
 rm -rf "$LOCAL_PROJECT/tmp"