Vercel · Deployment Hook · OpenClaw · リモート Mac · 2026

2026 OpenClaw フロント実戦:
Vercel Deployment Hook → スモーク・Headers 巡検・ビルド要約

2026年4月17日 フロント/リリース自動化 約9分

想定読者:Vercel でフロントを配信し、デプロイ直後に実 URL 上でスモークとセキュリティ Headers を固定化したいチーム向けです。OpenClawリモート Mac を組み合わせ、Hook から build_summary までを同一 Runbook で再現します。slug:2026-openclaw-vercel-deployment-hook-smoke-headers-summary.html。併読:Cloudflare Pages HookNetlify Deploy HookCSP/nonce 検収

01 OpenClaw と Hook URL

Vercel プロジェクトの Settings → Git → Deploy Hooks で Production 用 URL を発行し、共有秘密つきの Ingress(ゲートウェイ/Worker)だけが叩けるようにします。受信側は速やかに 202 Accepted を返し、OPENCLAW_RUN_ID を発行して ~/runners/vercel-post-deploy.sh へ渡します。

ペイロードまたは CI 注入の環境変数から VERCEL_URL(または確定済みの絶対 URL)、VERCEL_DEPLOYMENT_IDVERCEL_GIT_COMMIT_SHA を読み取り、ランナー先頭で ホスト名が意図した本番ドメインかを検証します。ローカル検証と SSH 先のリモート Mac で 同一ファイルパスを実行できるよう、リポジトリに scripts/vercel/openclaw-post-deploy.sh を置きます。

  1. Ingress の HMAC/Bearer を検証し、本文を jq でパース。
  2. DEPLOY_URL=https://${VERCEL_URL} をエクスポート(カスタムドメイン運用なら環境別マッピング表を参照)。
  3. 重い処理はキューへ。再送に備え deploy_id 単位でロック。

02 スモークと Headers チェックのスクリプト I/F

(A)ウォームアップcurl -fsS で 200 と HTML 内マーカーまで指数バックオフ。(B)Headers 巡検:リポジトリの config/headers_expect.json に期待する strict-transport-securitycontent-security-policy(または report-only)、x-frame-options 等を列挙し、curl -sSI の実レスと 正規化した diff を取ります。差分は .openclaw/reports/headers_diff.txt に保存し、許容する場合は理由をコメントで残します。

(C)スモークplaywright test tests/smoke --project=webkit --project=chromium。Apple Silicon リモート Mac では WebKit を優先し、失敗時は trace を .openclaw/traces/ に退避します。ログは .openclaw/reports/deploy_hook.ndjson に 1 行 JSON で phasehttp_statusduration_ms を追記します。

03 失敗要約の回伝パターン

すべて成功なら build_summary/v1 スキーマで git_shadeploy_id・各フェーズ msheaders_diff_bytes.openclaw/reports/build_summary.json に書き込みます。いずれか失敗時は failed_phase・先頭のエラー抜粋・exit_code を同ファイルに入れ、チャット/PR コメント API へ POST します。

Idempotency-Key: ${VERCEL_GIT_COMMIT_SHA}:${VERCEL_DEPLOYMENT_ID}:summary を付与し、同一デプロイの再送で重複コメントが積もらないようにします。Bearer や Webhook 秘密は ログに出さず、本文はマスクしたうえで NDJSON に残します。必要なら ビルド数値要約 とフィールドを揃え、ダッシュボード側で比較しやすくします。

04 FAQ

症状/コード 切り分け
Hook が 401 Ingress の秘密ローテーション漏れ、Authorization スキーム誤り。Vercel 側の再発行とボルト更新を揃える。
Headers が急に不一致 vercel.json の変更、Edge Middleware、ISR の初回レス差。デプロイ ID ごとに curl を保存し差分を縮小する。
WebKit のみ失敗 トラッキング防止・ITP・サードパーティ Cookie。trace と VERCEL_DEPLOYMENT_ID を添えて再現する。
要約 POST が 429 GitHub 二次レート。バックオフとコメント更新 API の利用間隔を空ける。

長時間 E2E はフック受信スレッドに直列させずワーカーへ。プレビュー URL と本番で headers_expect を分け、誤った環境への POST を防ぎます。

リモート Mac · 7×24 · Hook 連動 QA

Vercel のたびに「常時オン」の Mac で Headers とスモークを固める

デプロイ完了の通知から同一 Runbook で検証を回し、差分と要約をチームに返せます。料金ヘルプログイン不要の公開ページです。ランナー用ノードを確保する場合は 購入/レンタルからお進みください。

Headers 巡検 WebKit スモーク 要約 POST
Mac レンタル — Vercel Hook QA