Vercelには、コミットの作者(author)のメールアドレスがチームメンバーかどうかを確認し、非メンバーであればデプロイを黙ってブロックする仕組みがあります。ブロックされたデプロイはダッシュボード上でstatus=UNKNOWN、Duration「?」という不可解な表示になり、原因に気づきにくいといいます。エラーメッセージは「The deployment was blocked because <username> is not a member of your team.」と表示されるとのことです。
筆者は自身が関わる複数のプロジェクトでこの事象に遭遇した経験から、症状・原因・対処法を解説しています。ブロックされたデプロイは再実行(リトライ)ができず、新規コミットが必要になるとのことです。回避策としては、リポジトリ単位でgit config --local user.emailを設定する方法や、~/.gitconfigのincludeIfディレクティブを使って作業ディレクトリごとに設定を切り替える方法が紹介されています。vercel lsコマンドで本番デプロイの状態を確認できるといいます。
出典が伝えている要点
- Vercelはコミット作者のメールアドレスがチームメンバーであるかどうかを確認する仕組みを持つ
- コミット作者のメールアドレスが非メンバーの場合、Vercelはデプロイをブロックする
- ブロックされたデプロイはVercelダッシュボード上でstatus=UNKNOWN、Duration=「?」と表示される
- ブロック時のエラーメッセージは「The deployment was blocked because <username> is not a member of your team.」である
- ブロックされたデプロイは再実行(リトライ)ができず、新規コミットが必要になる
- git config --local user.emailでリポジトリ単位にコミット作者のメールアドレスを設定できる
- ~/.gitconfigのincludeIfディレクティブを使うと作業ディレクトリごとにgit設定を切り替えられる
- vercel lsコマンドで本番デプロイの状態を確認できる
原文より
The deployment was blocked because <username> is not a member of your team.
出典: zenn.dev