2026年09月02日 11:00 / - PV

いつも通りにmainへpushしたら、Vercelのデプロイが1件も走らなくなりました。
GitHubのコミットには赤いバツが付き、詳細を開くとこう書かれています。
Deployment was blocked
Vercelのダッシュボードを見ると、デプロイの状態はErrorでもCanceledでもなくBlocked。ビルドログは1行も出ていません。ビルドが失敗したのではなく、始まってすらいない状態です。
結論から書くと、原因はコードでもビルド設定でもなく、VercelアカウントとGitHubアカウントの連携が切れていたことでした。
まずこの症状の特徴を整理します。
BlockedDeployment was blockedビルドログが空であることが最大の手がかりです。ログが1行でも出ているなら、それはビルドの問題です。この記事の話ではありません。
VercelのHobbyプランは商用利用が禁止されています。そしてprivateリポジトリを繋いでいる場合、Vercelは「そのコミットを書いた人が、このVercelアカウント(チーム)の持ち主本人か」を照合します。
照合に使われるのがコミット作者のGitHubアカウントです。
つまりこういう判定が入ります。
Vercel側でGitHub連携が切れると、2番が必ず失敗します。 自分のコミットなのに他人扱いされる、というのが今回の状態でした。
さらに気づきにくくしていたのが、アカウント名が一致していなかったことです。
yutav1yutav同一人物ですが、名前が違います。GitHub側でyutav1を探しても存在しませんし、Vercel側の表示だけ見ていると「そもそも別人のアカウントでは?」と疑い始めてしまいます。
Vercelのアカウント名とGitHubのユーザー名は一致している必要はありません。紐付いてさえいればよいので、名前の違いは無関係です。ここで悩む必要はありませんでした。
この状態になると、Vercelは親切に2つの解決策を提示してきます。
どちらも症状は消えます。ですが今回の原因に対しては、どちらも不要かつ不適切です。
Proは月額が発生します。public化はもっと重くて、リポジトリの全履歴が公開対象になります。 うちの場合370コミット以上あり、過去に何を混ぜたか全部見直す必要が出てきます。連携を直せば済む話に対して、払う代償として大きすぎます。
「課金を促す導線が出ているが、原因は課金と関係ない」という形なので、案内に沿って進めると余計なコストだけが増えます。
先に確認しておくと安心できるのがコミット作者のメールアドレスです。
git log -1 --format='%an <%ae>'
これが過去に成功していたデプロイのコミットと同じなら、リポジトリ側は何も変わっていないことになります。原因は必ずVercel側の連携にあります。
逆に、ここが見慣れない値になっていたら別の話です。CIやツールが別のメールでコミットしていないか確認してください。
やることは1つだけです。
https://vercel.com/account/authentication を開き、GitHubアカウントを再接続します。
接続済みに見えても、いったん外して繋ぎ直すのが確実です。認可が生きているように見えて実体が切れている場合があります。
繋ぎ直したら、空コミットでも構わないので新しくpushしてみてください。
git commit --allow-empty -m "デプロイ連携の復旧を確認する"
git push
ビルドログに「Cloning repository」が出れば復旧しています。
なお、既存のBlockedになったデプロイをRedeployしても直りません。 ブロックの判定はデプロイ作成時に行われるので、新しいデプロイを起こす必要があります。
Vercelの設定変更が「新しいデプロイを起こさないと反映されない」のはこの件に限りません。Node.jsのバージョン設定でも同じ現象が起きます。
はっきりした引き金は特定できませんでした。GitHub側でOAuthアプリの認可を整理したとき、パスワードを変更したとき、あるいはGitHubのセキュリティ設定を触ったときなどに外れることがあります。
大事なのは「何もしていないのに壊れることがある」と知っておくことだと思います。原因追及より復旧のほうが圧倒的に速いので、心当たりを探して時間を溶かさないでください。
publicリポジトリでは起きません。Vercelがコミット作者を照合するのは、Hobbyプランでprivateリポジトリを扱っているときだからです。
だからこそVercelはpublic化を提案してくるわけですが、それは「照合をやめさせる」という乱暴な解決です。原因が消えたのではなく、判定そのものが不要になっただけです。
同じ症状が、連携切れ以外の理由でも起きます。Hobbyプランのプロジェクトに、チームメンバーとして登録されていない人のコミットが入った場合です。
こちらは仕様通りの挙動なので、繋ぎ直しでは直りません。Proプランに上げるのが正しい対処になります。「1人で運用しているのに突然ブロックされた」のか「複数人が触っている」のかで、判断が変わります。
ビルドが始まっていないので、ビルド時間は消費されません。デプロイ一覧に行だけが残ります。気持ち悪ければ削除して構いません。
VercelでDeployment was blockedが出たときの手順です。
git log -1 --format='%ae' でコミット作者が普段と同じか確認するVercelのアカウント名とGitHubのユーザー名が違っていても問題ありません。私はここで「別人のアカウントだからでは」と疑って遠回りしました。
この記事が何かのお役に立てれば幸いです。
最後までお読みいただきありがとうございました!
Share Me!