Vercel が git push してもデプロイされない
Vercel のデプロイが push で起動しないのは、Git Integration の切断、Production Branch 未一致、Ignored Build Step での skip、monorepo Root Directory 外の変更が主因。
Project Settings → Git で接続と Production Branch を、Deployments タブで Skipped 表示を確認する。
公開:
要約
git push で Vercel デプロイが走らないのは多くの場合 Git 連携の問題か Ignored Build Step の skip。
Project Settings → Git で連携と Production Branch を、Deployments タブで Skipped 表示を確認すれば、どの段階で止まっているかが分かる。
よくある原因
- 連携切れ: GitHub Org の設定で Vercel App のリポジトリアクセスが外れている
- Production Branch 不一致:
mainに push したが Settings はmasterのまま - Ignored Build Step:
git diffでビルド不要と判定してexit 0を返しサイレントに skip - monorepo の Root Directory 外:
apps/fooの Project に対しapps/barのみ変更された push - Vercel App の権限漏れ: GitHub 側で
Selected repositoriesを使っており対象が含まれていない
解決策
1. 連携と branch 設定を確認
Project → Settings → Git で以下を確認する(公式 Git Deployments 参照)。
- Connected Repository が正しい
- Production Branch が push 先のブランチ名と一致
Connected branchesに Preview したいブランチが含まれる
2. Deployments タブで状態を見る
Deployments タブで Skipped が表示されていれば Ignored Build Step による skip、ジョブ自体が現れない なら webhook が届いていない。
後者は Vercel App の再連携で直ることが多い。
3. Ignored Build Step を見直す
# Ignored Build Step の例(変更があれば exit 1 でビルド継続)
git diff HEAD^ HEAD --quiet ./ && exit 0 || exit 1exit 0 でビルドを skip、exit 1 で続行という仕様。
意図と逆になっていないか確認する。
4. monorepo の Root Directory を確認
monorepo の場合、対応 Project の Root Directory 配下に変更が無いとビルドされない。
Turborepo の affected 検出と組み合わせるとさらに堅い。
npx turbo-ignore @your/app5. GitHub 側の App 権限を再確認
GitHub → Settings → Integrations → Vercel App → Configure → Repository access を開き、All repositories か、Selected repositories で対象リポジトリにチェックが入っているかを確認する。
詳細は公式の Vercel for GitHubを参照。