From 9aeb9c825e8d3055c45d04c4f82bb4c43d547a0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E8=AF=9A?= Date: Sat, 10 Jan 2026 18:12:01 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E9=87=8D=E8=AF=95?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E4=BB=A5=E5=A2=9E=E5=BC=BA=E5=AE=B9=E5=99=A8?= =?UTF-8?q?=E5=90=AF=E5=8A=A8=E5=92=8C=E5=BE=AE=E4=BF=A1=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=E7=9A=84=E5=8F=AF=E9=9D=A0=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/push.yml | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/push.yml b/.gitea/workflows/push.yml index eb034ff..0c4c817 100644 --- a/.gitea/workflows/push.yml +++ b/.gitea/workflows/push.yml @@ -53,7 +53,20 @@ jobs: - name: Start containers run: | docker compose -p $COMPOSE_PROJECT_NAME down - docker compose -p $COMPOSE_PROJECT_NAME up -d --build + + # 添加重试逻辑 + RETRIES=3 + DELAY=10 + count=0 + until docker compose -p $COMPOSE_PROJECT_NAME up -d --build; do + count=$((count+1)) + if [ $count -ge $RETRIES ]; then + echo "Deployment failed after $RETRIES attempts" + exit 1 + fi + echo "Deployment failed. Retrying in $DELAY seconds... ($count/$RETRIES)" + sleep $DELAY + done cleanup: name: Cleanup Dangling Images @@ -97,6 +110,19 @@ jobs: } EOF - curl -s -X POST "$WEBHOOK_URL" \ + # 添加重试逻辑 + RETRIES=3 + DELAY=5 + count=0 + # 使用 -f 让 curl 在 HTTP 错误时返回非零退出码 + until curl -s -f -X POST "$WEBHOOK_URL" \ -H "Content-Type: application/json" \ - -d @wechat_payload.json \ No newline at end of file + -d @wechat_payload.json; do + count=$((count+1)) + if [ $count -ge $RETRIES ]; then + echo "WeChat notification failed after $RETRIES attempts" + exit 1 + fi + echo "Notification failed. Retrying in $DELAY seconds... ($count/$RETRIES)" + sleep $DELAY + done \ No newline at end of file