From 8f3fe7141ce21a7932df13668a4b99a123e7812d Mon Sep 17 00:00:00 2001 From: abcv7 Date: Wed, 26 Aug 2026 10:35:19 +0800 Subject: [PATCH] =?UTF-8?q?fix(ci):=20=E5=81=A5=E5=BA=B7=E6=A3=80=E6=9F=A5?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E6=A0=A1=E9=AA=8C=20JSON=20code(ApiResponse?= =?UTF-8?q?=20=E9=94=99=E8=AF=AF=E4=B9=9F=E8=BF=94=E5=9B=9E=20HTTP=20200),?= =?UTF-8?q?=20=E4=BF=AE=E6=AD=A3=20test=20=E7=AB=99=E7=82=B9=20siteKey=20?= =?UTF-8?q?=E7=A1=AC=E7=BC=96=E7=A0=81=E7=AC=94=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/deploy-test.yml | 8 +++++--- .gitea/workflows/promote-prod.yml | 8 +++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/deploy-test.yml b/.gitea/workflows/deploy-test.yml index 29cac42..efdf0bd 100644 --- a/.gitea/workflows/deploy-test.yml +++ b/.gitea/workflows/deploy-test.yml @@ -84,14 +84,16 @@ jobs: docker logs tianai-captcha 2>&1 | tail -3 ' - - name: Health check (generate API) + - name: Health check (generate API, 校验 JSON code 而非 HTTP 状态) + env: + TEST_SITE_KEY: 6a062b70-c0b3-428e-8f1b-cca402e67ddd run: | set -e SSH_CMD="ssh -i $HOME/.ssh/id_ed25519_deploy root@${{ secrets.CAPTCHA_TEST_HOST }}" OK=0 CODE=000 for i in $(seq 1 24); do - CODE=$($SSH_CMD 'curl -s -o /dev/null -w "%{http_code}" -X POST "http://127.0.0.1:18200/api/challenge/generate" -H "X-Site-Key: 6a062b70-c0b3-428e-8f1b-cca402e67ddb"' || echo 000) + CODE=$($SSH_CMD "curl -s -X POST 'http://127.0.0.1:18200/api/challenge/generate' -H 'X-Site-Key: $TEST_SITE_KEY'" | python3 -c "import json,sys; print(json.load(sys.stdin).get('code'))" 2>/dev/null || echo 000) if [ "$CODE" = "200" ]; then OK=1; break; fi sleep 5 done @@ -100,7 +102,7 @@ jobs: $SSH_CMD 'docker logs tianai-captcha --tail 30' || true exit 1 fi - echo "测试环境健康检查 OK (HTTP $CODE)" + echo "测试环境健康检查 OK (code=$CODE)" - name: Deployment summary if: always() diff --git a/.gitea/workflows/promote-prod.yml b/.gitea/workflows/promote-prod.yml index 9088fdd..86e958f 100644 --- a/.gitea/workflows/promote-prod.yml +++ b/.gitea/workflows/promote-prod.yml @@ -80,7 +80,9 @@ jobs: docker logs tianai-captcha 2>&1 | tail -3 ' - - name: Health check prod (generate + secondary-verify 探针) + - name: Health check prod (generate API, 校验 JSON code 而非 HTTP 状态) + env: + PROD_SITE_KEY: 6796bad8-4369-492f-a4d7-643a93bb07f3 run: | set -e SSH_KEY="$HOME/.ssh/id_ed25519_deploy" @@ -88,7 +90,7 @@ jobs: OK=0 CODE=000 for i in $(seq 1 24); do - CODE=$(ssh -i $SSH_KEY root@$PROD 'curl -s -o /dev/null -w "%{http_code}" -X POST "http://127.0.0.1:18200/api/challenge/generate" -H "X-Site-Key: 6796bad8-4369-492f-a4d7-643a93bb07f3"' || echo 000) + CODE=$(ssh -i $SSH_KEY root@$PROD "curl -s -X POST 'http://127.0.0.1:18200/api/challenge/generate' -H 'X-Site-Key: $PROD_SITE_KEY'" | python3 -c "import json,sys; print(json.load(sys.stdin).get('code'))" 2>/dev/null || echo 000) if [ "$CODE" = "200" ]; then OK=1; break; fi sleep 5 done @@ -98,7 +100,7 @@ jobs: echo "如需回滚: ssh prod1 后执行 docker rm -f tianai-captcha 并用 backup-xxx 标签重建容器" exit 1 fi - echo "生产环境健康检查 OK (HTTP $CODE)" + echo "生产环境健康检查 OK (code=$CODE)" - name: Promotion summary if: always()