2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VercelのPreviewビルドを特定ブランチでスキップしてPRのノイズを消す方法

2
Last updated at Posted at 2026-03-04

Vercelの課金を抑えた運用

Vercelのシート課金を抑えるため、メンバー追加を最小限に絞って運用しているチームは多いと思います。

この運用で厄介なのが、Vercelの権限を持たないメンバーがPRを出した際、デプロイ権限がないため強制的にエラー扱いになってしまうことです。

image.png

これの何が問題かというと、Lintやテストなど他の重要なCIの成否がVercelのエラーに埋もれてしまう点です。PRを開いて確認しなければ、他のCIで落ちているのかの判断ができません。

これって地味にストレスですよね?

今回は、設定ファイルを1つ追加してこの不要なビルド自体をスキップし、PRのステータスを健全に保つ方法を紹介します。

vercel.jsonでデプロイ対象を制御する

プロジェクトのルートディレクトリに vercel.json を配置し(すでにある場合は追記し)、以下のように記述します。

{
  "$schema": "https://openapi.vercel.sh/vercel.json",
  "git": {
    "deploymentEnabled": {
      "main": true,
      "staging": true,
      "develop": true,
      "feature/**": false
    }
  }
}

ワイルドカードは *-ticket のように前方一致でも指定できます。
詳しい設定の仕方は minimatch構文 を参照してください。

モノレポ構成の場合の注意点

Turborepo や Yarn Workspaces などのモノレポ環境で運用している場合は、リポジトリのルートディレクトリではなく、各アプリケーションのディレクトリ(例: apps/web/vercel.json)に配置してください。

おまけ

regions はビルドスキップとは直接関係ありませんが、日本のプロジェクトならServerless Functions のリージョンを東京(hnd1)に固定しておくことを推奨します。

{
  "$schema": "https://openapi.vercel.sh/vercel.json",
  "regions": ["hnd1"],
}

まとめ

不要なエラー表示を放置していると、チーム全体のエラーに対する感度が下がってしまいます。
Vercelのコストを抑えつつ、PRのステータスを正しく機能させるために、ぜひこの設定を導入してみてください。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?