From 7fdbc5c9040960314903e1303b0a3e66dabd11e8 Mon Sep 17 00:00:00 2001 From: xiaoxia Date: Sat, 18 Jul 2026 11:10:56 +0800 Subject: [PATCH 1/2] =?UTF-8?q?ci(preview):=20=E5=88=87=E6=8D=A2=E5=88=B0?= =?UTF-8?q?=E4=B8=93=E7=94=A8PREVIEW=5FSSH=5F*=E5=AF=86=E9=92=A5=EF=BC=8C?= =?UTF-8?q?=E4=BD=BF=E7=94=A8deploy=E7=94=A8=E6=88=B7+=E5=86=85=E7=BD=91IP?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/preview-deploy.yml | 30 ++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/.gitea/workflows/preview-deploy.yml b/.gitea/workflows/preview-deploy.yml index abaf864be..819b0301c 100644 --- a/.gitea/workflows/preview-deploy.yml +++ b/.gitea/workflows/preview-deploy.yml @@ -142,15 +142,15 @@ jobs: - name: Deploy preview to server shell: sh env: - STAGING_SSH_HOST: ${{ secrets.STAGING_SSH_HOST }} - STAGING_SSH_USER: ${{ secrets.STAGING_SSH_USER }} - STAGING_SSH_PORT: ${{ secrets.STAGING_SSH_PORT }} - STAGING_SSH_KEY: ${{ secrets.STAGING_SSH_KEY }} + PREVIEW_SSH_HOST: ${{ secrets.PREVIEW_SSH_HOST }} + PREVIEW_SSH_USER: ${{ secrets.PREVIEW_SSH_USER }} + PREVIEW_SSH_PORT: ${{ secrets.PREVIEW_SSH_PORT }} + PREVIEW_SSH_KEY: ${{ secrets.PREVIEW_SSH_KEY }} run: | set -eux - staging_host="${STAGING_SSH_HOST:-47.98.113.167}" - staging_user="${STAGING_SSH_USER:-root}" - staging_port="${STAGING_SSH_PORT:-22222}" + preview_host="${PREVIEW_SSH_HOST:-172.30.18.197}" + preview_user="${PREVIEW_SSH_USER:-deploy}" + preview_port="${PREVIEW_SSH_PORT:-22222}" preview_dir="/var/www/preview/pr-${PR_NUMBER}" mkdir -p ~/.ssh @@ -163,11 +163,11 @@ jobs: elif [ -f "$HOME/.ssh/xiaoxia_runtime_builder" ]; then key_path="$HOME/.ssh/xiaoxia_runtime_builder" echo "Using key: $key_path (home key)" - elif [ -n "${STAGING_SSH_KEY:-}" ]; then + elif [ -n "${PREVIEW_SSH_KEY:-}" ]; then key_path="$HOME/.ssh/id_ed25519" - printf '%s\n' "$STAGING_SSH_KEY" > "$key_path" + printf '%s\n' "$PREVIEW_SSH_KEY" > "$key_path" chmod 600 "$key_path" - echo "Using key from STAGING_SSH_KEY secret" + echo "Using key from PREVIEW_SSH_KEY secret" else echo "ERROR: No SSH key available" ls -la ~/.ssh/ 2>/dev/null || true @@ -175,21 +175,21 @@ jobs: exit 1 fi - ssh-keyscan -p "$staging_port" -H "$staging_host" >> ~/.ssh/known_hosts 2>/dev/null + ssh-keyscan -p "$preview_port" -H "$preview_host" >> ~/.ssh/known_hosts 2>/dev/null echo "SSH keyscan done" # 测试SSH连接 - ssh -p "$staging_port" -i "$key_path" -o StrictHostKeyChecking=no "${staging_user}@${staging_host}" "echo SSH_CONNECTION_OK && hostname" + ssh -p "$preview_port" -i "$key_path" -o StrictHostKeyChecking=no "${preview_user}@${preview_host}" "echo SSH_CONNECTION_OK && hostname" echo "SSH connection verified" # 创建预览目录并上传文件 - ssh -p "$staging_port" -i "$key_path" -o StrictHostKeyChecking=no "${staging_user}@${staging_host}" \ + ssh -p "$preview_port" -i "$key_path" -o StrictHostKeyChecking=no "${preview_user}@${preview_host}" \ "mkdir -p ${preview_dir} && echo 'Preview directory created: ${preview_dir}'" # 使用rsync上传dist目录内容 - rsync -avz --delete -e "ssh -p ${staging_port} -i ${key_path} -o StrictHostKeyChecking=no" \ + rsync -avz --delete -e "ssh -p ${preview_port} -i ${key_path} -o StrictHostKeyChecking=no" \ apps/web/dist/ \ - "${staging_user}@${staging_host}:${preview_dir}/" + "${preview_user}@${preview_host}:${preview_dir}/" echo "Preview deployed to: ${preview_dir}" echo "Preview URL: https://pr-${PR_NUMBER}.preview.xiaoxiajianji.com" -- 2.54.0 From 3ca6db10c861324e1b4057d2d1796fc83af23e21 Mon Sep 17 00:00:00 2001 From: xiaoxia Date: Sat, 18 Jul 2026 11:10:56 +0800 Subject: [PATCH 2/2] =?UTF-8?q?ci(preview):=20=E6=B8=85=E7=90=86=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=E5=88=87=E6=8D=A2=E5=88=B0PREVIEW=5FSSH=5F*=E5=AF=86?= =?UTF-8?q?=E9=92=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/preview-cleanup.yml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/.gitea/workflows/preview-cleanup.yml b/.gitea/workflows/preview-cleanup.yml index ba32e02ee..2302fa00f 100644 --- a/.gitea/workflows/preview-cleanup.yml +++ b/.gitea/workflows/preview-cleanup.yml @@ -34,15 +34,15 @@ jobs: - name: Remove preview directory from server shell: sh env: - STAGING_SSH_HOST: ${{ secrets.STAGING_SSH_HOST }} - STAGING_SSH_USER: ${{ secrets.STAGING_SSH_USER }} - STAGING_SSH_PORT: ${{ secrets.STAGING_SSH_PORT }} - STAGING_SSH_KEY: ${{ secrets.STAGING_SSH_KEY }} + PREVIEW_SSH_HOST: ${{ secrets.PREVIEW_SSH_HOST }} + PREVIEW_SSH_USER: ${{ secrets.PREVIEW_SSH_USER }} + PREVIEW_SSH_PORT: ${{ secrets.PREVIEW_SSH_PORT }} + PREVIEW_SSH_KEY: ${{ secrets.PREVIEW_SSH_KEY }} run: | set -eux - staging_host="${STAGING_SSH_HOST:-47.98.113.167}" - staging_user="${STAGING_SSH_USER:-root}" - staging_port="${STAGING_SSH_PORT:-22222}" + preview_host="${PREVIEW_SSH_HOST:-172.30.18.197}" + preview_user="${PREVIEW_SSH_USER:-deploy}" + preview_port="${PREVIEW_SSH_PORT:-22222}" preview_dir="/var/www/preview/pr-${PR_NUMBER}" mkdir -p ~/.ssh @@ -55,11 +55,11 @@ jobs: elif [ -f "$HOME/.ssh/xiaoxia_runtime_builder" ]; then key_path="$HOME/.ssh/xiaoxia_runtime_builder" echo "Using key: $key_path (home key)" - elif [ -n "${STAGING_SSH_KEY:-}" ]; then + elif [ -n "${PREVIEW_SSH_KEY:-}" ]; then key_path="$HOME/.ssh/id_ed25519" - printf '%s\n' "$STAGING_SSH_KEY" > "$key_path" + printf '%s\n' "$PREVIEW_SSH_KEY" > "$key_path" chmod 600 "$key_path" - echo "Using key from STAGING_SSH_KEY secret" + echo "Using key from PREVIEW_SSH_KEY secret" else echo "ERROR: No SSH key available" ls -la ~/.ssh/ 2>/dev/null || true @@ -67,20 +67,20 @@ jobs: exit 1 fi - ssh-keyscan -p "$staging_port" -H "$staging_host" >> ~/.ssh/known_hosts 2>/dev/null + ssh-keyscan -p "$preview_port" -H "$preview_host" >> ~/.ssh/known_hosts 2>/dev/null echo "SSH keyscan done" # 测试SSH连接 - ssh -p "$staging_port" -i "$key_path" -o StrictHostKeyChecking=no "${staging_user}@${staging_host}" "echo SSH_CONNECTION_OK && hostname" + ssh -p "$preview_port" -i "$key_path" -o StrictHostKeyChecking=no "${preview_user}@${preview_host}" "echo SSH_CONNECTION_OK && hostname" echo "SSH connection verified" # 检查目录是否存在 - DIR_EXISTS=$(ssh -p "$staging_port" -i "$key_path" -o StrictHostKeyChecking=no "${staging_user}@${staging_host}" \ + DIR_EXISTS=$(ssh -p "$preview_port" -i "$key_path" -o StrictHostKeyChecking=no "${preview_user}@${preview_host}" \ "if [ -d '${preview_dir}' ]; then echo 'yes'; else echo 'no'; fi") if [ "$DIR_EXISTS" = "yes" ]; then echo "Removing preview directory: ${preview_dir}" - ssh -p "$staging_port" -i "$key_path" -o StrictHostKeyChecking=no "${staging_user}@${staging_host}" \ + ssh -p "$preview_port" -i "$key_path" -o StrictHostKeyChecking=no "${preview_user}@${preview_host}" \ "rm -rf ${preview_dir} && echo 'Preview directory removed successfully'" echo "Cleanup completed: ${preview_dir}" else -- 2.54.0