增加钉钉通知

This commit is contained in:
2026-09-14 00:04:55 +08:00
parent b3e5121e31
commit b6e842ac9b
4 changed files with 360 additions and 0 deletions
+64
View File
@@ -22,6 +22,9 @@ jobs:
migrate-up:
runs-on: ubuntu-latest
steps:
- name: 记录开始时间
run: echo "JOB_START=$(date +%s)" >> "$GITHUB_ENV"
- name: 拉取代码
uses: https://gitee.com/liu_zhengchi/checkout@v4
@@ -88,3 +91,64 @@ jobs:
-e TZ=Asia/Shanghai \
"$IMAGE" "$ACTION"
REMOTE
- name: 钉钉通知(成功)
if: success()
continue-on-error: true
env:
WEBHOOK: ${{ secrets.ZT_CLOSET_DINGTALK_WEBHOOK }}
REPO: ${{ gitea.repository }}
REF: ${{ gitea.ref }}
SHA: ${{ gitea.sha }}
ACTOR: ${{ gitea.actor }}
RUN_URL: ${{ gitea.server_url }}/${{ gitea.repository }}/actions/runs/${{ gitea.run_id }}
IMAGE_REF: ${{ env.IMAGE }}:${{ env.MIGRATE_TAG }}
run: |
set -uo pipefail
REF_NAME="${REF#refs/heads/}"; REF_NAME="${REF_NAME#refs/tags/}"
SHORT_SHA="$(printf '%s' "$SHA" | cut -c1-7)"
COST=$(( $(date +%s) - ${JOB_START:-$(date +%s)} ))
TEXT="### ✅ 数据库迁移-升级成功\n\n"
TEXT="${TEXT}> **zt-closet-backend** · 数据库迁移-升级\n\n"
TEXT="${TEXT}- **📦 仓库**:$REPO\n"
TEXT="${TEXT}- **🌿 分支/标签**:$REF_NAME\n"
TEXT="${TEXT}- **🔖 提交**:$SHORT_SHA\n"
TEXT="${TEXT}- **👤 触发者**:$ACTOR\n"
TEXT="${TEXT}- **🐳 镜像**:$IMAGE_REF\n"
TEXT="${TEXT}- **⏱️ 耗时**:$((COST/60)) 分 $((COST%60)) 秒\n"
TEXT="${TEXT}- **🕐 时间**:$(date '+%Y-%m-%d %H:%M:%S')\n\n"
TEXT="${TEXT}[查看运行详情]($RUN_URL)"
printf '%s' "{\"msgtype\":\"markdown\",\"markdown\":{\"title\":\"✅ 数据库迁移-升级成功 · zt-closet-backend\",\"text\":\"$TEXT\"}}" > /tmp/dingtalk.json
RESP="$(curl -sS -X POST "$WEBHOOK" -H 'Content-Type: application/json' -d @/tmp/dingtalk.json)"
echo "钉钉响应: $RESP"
- name: 钉钉通知(失败)
if: failure()
continue-on-error: true
env:
WEBHOOK: ${{ secrets.ZT_CLOSET_DINGTALK_WEBHOOK }}
REPO: ${{ gitea.repository }}
REF: ${{ gitea.ref }}
SHA: ${{ gitea.sha }}
ACTOR: ${{ gitea.actor }}
RUN_URL: ${{ gitea.server_url }}/${{ gitea.repository }}/actions/runs/${{ gitea.run_id }}
IMAGE_REF: ${{ env.IMAGE }}:${{ env.MIGRATE_TAG }}
run: |
set -uo pipefail
REF_NAME="${REF#refs/heads/}"; REF_NAME="${REF_NAME#refs/tags/}"
SHORT_SHA="$(printf '%s' "$SHA" | cut -c1-7)"
COST=$(( $(date +%s) - ${JOB_START:-$(date +%s)} ))
TEXT="### ❌ 数据库迁移-升级失败\n\n"
TEXT="${TEXT}> **zt-closet-backend** · 数据库迁移-升级\n\n"
TEXT="${TEXT}- **📦 仓库**:$REPO\n"
TEXT="${TEXT}- **🌿 分支/标签**:$REF_NAME\n"
TEXT="${TEXT}- **🔖 提交**:$SHORT_SHA\n"
TEXT="${TEXT}- **👤 触发者**:$ACTOR\n"
TEXT="${TEXT}- **🐳 镜像**:$IMAGE_REF\n"
TEXT="${TEXT}- **⏱️ 耗时**:$((COST/60)) 分 $((COST%60)) 秒\n"
TEXT="${TEXT}- **🕐 时间**:$(date '+%Y-%m-%d %H:%M:%S')\n"
TEXT="${TEXT}- **🧭 失败定位**:请点击下方链接查看失败步骤与日志\n\n"
TEXT="${TEXT}[查看失败日志]($RUN_URL)"
printf '%s' "{\"msgtype\":\"markdown\",\"markdown\":{\"title\":\"❌ 数据库迁移-升级失败 · zt-closet-backend\",\"text\":\"$TEXT\"}}" > /tmp/dingtalk.json
RESP="$(curl -sS -X POST "$WEBHOOK" -H 'Content-Type: application/json' -d @/tmp/dingtalk.json)"
echo "钉钉响应: $RESP"