From 4537666b670ed3b490013b7a627c07344deb1e2b Mon Sep 17 00:00:00 2001 From: Vaica <94612053+zqlit@users.noreply.github.com> Date: Thu, 25 Jun 2026 00:35:27 +0800 Subject: [PATCH] Update deploy.yml --- .github/workflows/deploy.yml | 52 ++++++++++++++---------------------- 1 file changed, 20 insertions(+), 32 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 39183635..cc9854c8 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -414,37 +414,23 @@ jobs: - name: Deploy to UpYun id: deploy-upyun + uses: her-cat/upyun-deployer@v1.0.3 + with: + bucket: ${{ secrets.UPYUN_BUCKET }} + operator: ${{ secrets.UPYUN_OPERATOR }} + password: ${{ secrets.UPYUN_PASSWORD }} + dir: 'public' + publish_dir: '/' + continue-on-error: true + + - name: Check deployment result + id: check-result run: | - echo "🚀 开始 UpYun 部署..." - OUTPUT_FILE="/tmp/upyun_output.txt" - - # 运行 upyun-deployer - upyun-deployer \ - -bucket "${{ secrets.UPYUN_BUCKET }}" \ - -operator "${{ secrets.UPYUN_OPERATOR }}" \ - -password "${{ secrets.UPYUN_PASSWORD }}" \ - -local_dir "./public" \ - -publish_dir "/" 2>&1 | tee "$OUTPUT_FILE" - - # 检测完成信号 - if grep -q "done! consumed:" "$OUTPUT_FILE"; then - echo "✅ UpYun 部署完成" - - # 提取统计信息 - STATS=$(grep "exists:" "$OUTPUT_FILE") - echo "📊 统计: $STATS" - - # 统计 cached/refreshed/uploaded 数量 - CACHED=$(grep -c "cached!" "$OUTPUT_FILE" || true) - REFRESHED=$(grep -c "refreshed!" "$OUTPUT_FILE" || true) - UPLOADED=$(grep -c "uploaded!" "$OUTPUT_FILE" || true) - - echo "cached=${CACHED}" >> $GITHUB_OUTPUT - echo "refreshed=${REFRESHED}" >> $GITHUB_OUTPUT - echo "uploaded=${UPLOADED}" >> $GITHUB_OUTPUT + if [ "${{ steps.deploy-upyun.outputs.status }}" == "success" ] || [ "${{ steps.deploy-upyun.conclusion }}" == "success" ]; then + echo "✅ UpYun 部署成功" echo "success=true" >> $GITHUB_OUTPUT else - echo "❌ 部署未完成或被中断" + echo "❌ UpYun 部署失败或未完成" echo "success=false" >> $GITHUB_OUTPUT exit 1 fi @@ -458,10 +444,12 @@ jobs: echo "duration=${duration}" >> $GITHUB_OUTPUT echo "## ⏱️ Deploy UpYun 耗时: ${duration}秒" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY - echo "### 📊 部署详情" >> $GITHUB_STEP_SUMMARY - echo "- ✅ Cached (跳过): ${{ steps.deploy-upyun.outputs.cached }}" >> $GITHUB_STEP_SUMMARY - echo "- 🔄 Refreshed (更新): ${{ steps.deploy-upyun.outputs.refreshed }}" >> $GITHUB_STEP_SUMMARY - echo "- ⬆️ Uploaded (新增): ${{ steps.deploy-upyun.outputs.uploaded }}" >> $GITHUB_STEP_SUMMARY + echo "### 📊 部署状态" >> $GITHUB_STEP_SUMMARY + if [ "${{ steps.check-result.outputs.success }}" == "true" ]; then + echo "- ✅ 状态: 成功" >> $GITHUB_STEP_SUMMARY + else + echo "- ❌ 状态: 失败" >> $GITHUB_STEP_SUMMARY + fi # ============================================================ # Job 5: CDN Refresh & Notifications (在所有部署完成后)