diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 3269eed..01f8c5d 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -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:-}" + 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 }}"