From 3395274be4cf53c94e771e8ce8f43ef36d8bc76f Mon Sep 17 00:00:00 2001 From: Vaica <94612053+zqlit@users.noreply.github.com> Date: Wed, 24 Jun 2026 23:54:00 +0800 Subject: [PATCH] Update deploy.yml --- .github/workflows/deploy.yml | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 7152a4d0..091792a8 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -64,14 +64,15 @@ jobs: "MAIL_USERNAME" "MAIL_PASSWORD" ) - + MISSING="" for SECRET in "${REQUIRED_SECRETS[@]}"; do - if [ -z "${{ secrets[SECRET] }}" ]; then + # 使用 printenv 检查环境变量是否存在 + if [ -z "$(printenv "$SECRET" 2>/dev/null)" ]; then MISSING="$MISSING $SECRET" fi done - + if [ -n "$MISSING" ]; then echo "❌ 缺少必要的环境变量: $MISSING" exit 1 @@ -429,11 +430,15 @@ jobs: run: node scripts/generate_notification_report.js - name: Send Telegram notification - if: ${{ secrets.TELEGRAM_BOT_TOKEN != '' && secrets.TELEGRAM_CHAT_ID != '' }} env: TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }} TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }} run: | + if [ -z "$TELEGRAM_BOT_TOKEN" ] || [ -z "$TELEGRAM_CHAT_ID" ]; then + echo "⚠️ Telegram secrets 未配置,跳过通知" + exit 0 + fi + MESSAGE="✅ **部署成功** 📦 项目: ${{ github.repository }} @@ -452,10 +457,14 @@ jobs: -d parse_mode="Markdown" - name: Send Feishu notification - if: ${{ secrets.FEISHU_WEBHOOK_URL != '' }} env: FEISHU_WEBHOOK_URL: ${{ secrets.FEISHU_WEBHOOK_URL }} run: | + if [ -z "$FEISHU_WEBHOOK_URL" ]; then + echo "⚠️ 飞书 Webhook URL 未配置,跳过通知" + exit 0 + fi + CURRENT_TIME=$(date +'%Y-%m-%d %H:%M:%S') curl -s -X POST "${FEISHU_WEBHOOK_URL}" \ -H "Content-Type: application/json" \ @@ -497,11 +506,15 @@ jobs: steps: - name: Send Telegram failure notification - if: ${{ secrets.TELEGRAM_BOT_TOKEN != '' && secrets.TELEGRAM_CHAT_ID != '' }} env: TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }} TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }} run: | + if [ -z "$TELEGRAM_BOT_TOKEN" ] || [ -z "$TELEGRAM_CHAT_ID" ]; then + echo "⚠️ Telegram secrets 未配置,跳过失败通知" + exit 0 + fi + MESSAGE="❌ **部署失败** 📦 项目: ${{ github.repository }} @@ -518,10 +531,14 @@ jobs: -d parse_mode="Markdown" - name: Send Feishu failure notification - if: ${{ secrets.FEISHU_WEBHOOK_URL != '' }} env: FEISHU_WEBHOOK_URL: ${{ secrets.FEISHU_WEBHOOK_URL }} run: | + if [ -z "$FEISHU_WEBHOOK_URL" ]; then + echo "⚠️ 飞书 Webhook URL 未配置,跳过失败通知" + exit 0 + fi + CURRENT_TIME=$(date +'%Y-%m-%d %H:%M:%S') curl -s -X POST "${FEISHU_WEBHOOK_URL}" \ -H "Content-Type: application/json" \