|
|
@@ -0,0 +1,34 @@
|
|
|
+#!/bin/bash
|
|
|
+set -e
|
|
|
+
|
|
|
+# === 配置区 ===
|
|
|
+SERVER_HOST="18.180.15.67"
|
|
|
+REMOTE_USER="ubuntu"
|
|
|
+PEM_PATH="$HOME/Downloads/Key/id_tgseo3.pem"
|
|
|
+REMOTE_PATH="/var/www/tg-download-page"
|
|
|
+LOCAL_PATH="./dist"
|
|
|
+
|
|
|
+# === 步骤1:本地构建 ===
|
|
|
+echo "=============================="
|
|
|
+echo "1. 开始构建项目..."
|
|
|
+yarn install
|
|
|
+rm -rf $LOCAL_PATH
|
|
|
+yarn build
|
|
|
+echo "✅ 构建完成"
|
|
|
+echo "=============================="
|
|
|
+
|
|
|
+# === 步骤2:远程准备目录和权限 ===
|
|
|
+echo "2. 检查并准备远程目录和权限..."
|
|
|
+ssh -i $PEM_PATH -o StrictHostKeyChecking=no $REMOTE_USER@$SERVER_HOST "\
|
|
|
+ sudo mkdir -p $REMOTE_PATH && \\
|
|
|
+ sudo chown -R $REMOTE_USER:$REMOTE_USER $REMOTE_PATH\
|
|
|
+"
|
|
|
+echo "✅ 远程目录准备完成"
|
|
|
+echo "=============================="
|
|
|
+
|
|
|
+# === 步骤3:同步文件 ===
|
|
|
+echo "3. 同步文件到服务器..."
|
|
|
+rsync --exclude='node_modules/' -ravzh --delete -e "ssh -i $PEM_PATH -o StrictHostKeyChecking=no" \
|
|
|
+ $LOCAL_PATH/ $REMOTE_USER@$SERVER_HOST:$REMOTE_PATH/
|
|
|
+echo "✅ 文件同步完成!"
|
|
|
+echo "=============================="
|