Vercel · Deployment Hook · OpenClaw · 원격 Mac · 2026

2026 OpenClaw 프론트 실전:
Vercel Deployment Hook → 원격 Mac 스모크·Headers·빌드 요약

2026.04.17 프론트·릴리스 자동화 약 9분 읽기

대상: Vercel 배포 후 공개 URL에서 CSP·HSTS·Permissions-Policy를 증명해야 하는 팀. Deployment Hook은 빌드 신호일 뿐이므로 OpenClaw 러너를 원격 Mac에 두고 스모크·헤더·build_summary를 한 셸로 재현합니다. 슬러그 2026-openclaw-vercel-deployment-hook-smoke-headers-summary.html. 참고 Netlify 훅·CF Pages·CSP.

01 OpenClaw와 Hook URL

Deployment Hook은 빌드 신호일 뿐 실제 호스트의 middleware·ISR 합성 응답을 보장하지 않습니다.

  1. 스테일: 워밍 없이 콜드 ISR만 보면 통과 오판.
  2. 헤더: vercel.jsoncurl -sSI 불일치 시 게이트 무력화.
  3. 브라우저: 원격 Mac에서 webkit·chromium 병행이 안전.

의사결정 표: 임시 수동 QA와 자동 훅 러너를 비교합니다.

주제 임시 수동 QA 훅 + OpenClaw 러너
트리거 수동은 슬랙 뒤 기억 의존. 프로덕션마다 동일 스크립트.
증거 채팅 캡처. NDJSON·헤더 diff·build_summary+배포 ID.
비밀 급하게 광범위 공유. Ingress 단일 비밀·토큰은 훅 밖.

재현 배선 단계.

  1. Settings → Git → Deploy Hooks에서 Production URL 발급·주기적 회전.
  2. Ingress만 노출·HMAC/Bearer 검증·202·OPENCLAW_RUN_ID~/runners/vercel-post-deploy.sh에 전달.
  3. DEPLOY_URL·배포 ID·커밋 SHA 내보내고 호스트 허용 목록 외 거절.
  4. scripts/vercel/openclaw-post-deploy.sh를 단일 진실원으로 SSH·로컬 동일 경로.
  5. 배포 단위 잠금으로 웹훅 재시도 시 Playwright 중복 방지.

02 스모크·Headers 검사 스크립트 계약

세 단계마다 .openclaw/reports/deploy_hook.ndjsonphase·http_status·duration_ms·openclaw_run_id 한 줄씩 기록합니다.

(A) 워밍: curl -fsS200+HTML 마커까지 백오프·429 지터.

(B) Headers: headers_expect.jsoncurl -sSI를 비교해 headers_diff.txt·필수 지시 누락 시 실패.

(C) 스모크: BASE_URL=$DEPLOY_URLnpx playwright test tests/smoke --project=webkit --project=chromium를 실행합니다. Apple Silicon에서는 ITP 변화를 먼저 보려 WebKit 순서를 권장하고 실패 시 .openclaw/traces/에 trace를 남깁니다.

03 실패 요약 회수 패턴

성공·실패 모두 build_summary/v1 형태로 build_summary.json에 기록하고 실패 시 failed_phase·stderr·exit_code를 같이 둡니다.

POST 시 Idempotency-Key: ${VERCEL_GIT_COMMIT_SHA}:${VERCEL_DEPLOYMENT_ID}:summary로 재시도 중복을 막고 토큰은 로그에서 마스킹합니다. 대시보드 연동은 빌드 메트릭 PR 요약 필드와 맞춥니다.

폴링 예산

워밍 상한(예: 5분)·x-vercel-id·cf-ray 기록.

헤더 diff

headers_diff.txt를 아티팩트에 붙여 리뷰 대조.

토큰 범위

OPENCLAW_GATEWAY_TOKEN은 큐·요약 API만·번들·로그에 타사 토큰 금지.

04 FAQ

증상 가능 원인 확인할 것
401 Ingress 비밀·Authorization 불일치. 훅 재발급·금고·문서 동기화.
헤더 불일치 Middleware·vercel.json·ISR. 배포 ID별 curl·DNS 전에 diff 축소.
WebKit만 실패 ITP·저장소·쿠키. trace·쿠키 jar 재시도.
POST 429 GitHub 보조 한도. 백오프·코멘트 재사용·재시도 간격.

curl이 Playwright를 대체하나요?

아니요. curl은 전송 헤더와 리다이렉트 체인을 빠르게 증명하고 브라우저는 CSP·혼합 콘텐츠·저장소를 다르게 적용합니다. curl로 1차 게이트를 두고 DOM·스토리지는 Playwright로 이어지는 편이 안전합니다.

원격 Mac · Vercel · 훅 러너

실제 Apple 하드웨어에서 Vercel Hook QA를 고정하세요

Deployment Hook을 Safari·Chromium 자동화에 붙이고 OpenClaw 요약을 스트리밍하며 노트북 한 대에 묶인 플레이크를 줄이세요. 요금도움말로그인 없이 열람할 수 있고, 릴리스 주기가 CI 분을 넘으면 구매로 원격 Mac을 확보하세요.

Deploy Hook 헤더 감사 WebKit 스모크
원격 Mac — Vercel Hook QA