This commit is contained in:
Vaica committed 2026-06-25 00:30:25 +08:00
1 parent 74be6bd15f
commit 8800dd4907
2 files changed
+74 -7

No files matched your search

+40 -7
View File
@@ -413,13 +413,41 @@ jobs:
path: public/
- name: Deploy to 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: '/'
id: deploy-upyun
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
echo "success=true" >> $GITHUB_OUTPUT
else
echo "❌ 部署未完成或被中断"
echo "success=false" >> $GITHUB_OUTPUT
exit 1
fi
- name: End timing
id: end-upyun
@@ -429,6 +457,11 @@ jobs:
duration=$((end_time - start_time))
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
# ============================================================
# Job 5: CDN Refresh & Notifications (在所有部署完成后)
+34
View File
@@ -0,0 +1,34 @@
#!/bin/bash
# UpYun 部署完成检测脚本
set -e
echo "🚀 开始 UpYun 部署..."
START_TIME=$(date +%s)
# 运行 upyun-deployer 并捕获输出
OUTPUT_FILE="/tmp/upyun_output.txt"
her-cat/upyun-deployer@v1.0.3 2>&1 | tee "$OUTPUT_FILE"
# 检测完成信号
if grep -q "done! consumed:" "$OUTPUT_FILE"; then
END_TIME=$(date +%s)
DURATION=$((END_TIME - START_TIME))
echo ""
echo "✅ UpYun 部署完成!"
echo "⏱️ 总耗时: ${DURATION}秒"
# 提取统计信息
STATS=$(grep "exists:" "$OUTPUT_FILE")
echo "📊 统计: $STATS"
# 检查是否有失败
if grep -q "failed" "$OUTPUT_FILE"; then
echo "⚠️ 有文件上传失败,请检查日志"
exit 1
fi
else
echo "❌ 部署未完成或被中断"
exit 1
fi