ci: webhook 响应体校验(projman 业务错误也返回 HTTP 200,检测 code 字段防止静默失败)
ci-userbase-service / build-and-push (push) Successful in 44s

This commit is contained in:
chenxing
2026-09-01 20:18:56 +08:00
parent 3e38d702e6
commit a937984f0b
+5 -2
View File
@@ -73,12 +73,15 @@ jobs:
run: docker push nexus:8083/docker-hosted/userbase-service:${{ steps.meta.outputs.tag }}
# 通知 projman 建档(Release);部署由 projman 按 app.deploy_mode 决定(manual=待部署 / auto=自动部署 10001)
# 注意:projman 业务错误也返回 HTTP 200(体含 {"code":N}),必须检查响应体,否则失败会静默
- name: Notify projman (webhook)
run: |
curl -sS -X POST "http://192.168.10.160:8090/projman/api/deploy/webhook" \
RESP=$(curl -sS -X POST "http://192.168.10.160:8090/projman/api/deploy/webhook" \
-H "Content-Type: application/json" \
-H "X-Deploy-Token: ${{ secrets.DEPLOY_TOKEN }}" \
-d "{\"app\":\"userbase\",\"tag\":\"${{ steps.meta.outputs.tag }}\",\"sha\":\"${GITHUB_SHA}\",\"message\":\"${COMMIT_MSG}\"}"
-d "{\"app\":\"userbase\",\"tag\":\"${{ steps.meta.outputs.tag }}\",\"sha\":\"${GITHUB_SHA}\",\"message\":\"${COMMIT_MSG}\"}")
echo "webhook resp: ${RESP:-<empty=ok>}"
if echo "${RESP}" | grep -q '"code"'; then echo "!! webhook rejected by projman"; exit 8; fi
- name: Report build
run: echo "pushed nexus:8083/docker-hosted/userbase-service:${{ steps.meta.outputs.tag }}"