Vercelで特定のブランチのみ検知してデプロイしたい

Issue

VecelにGitHubリポジトリを連携させると、pushするだけで自動検知してプレビューデプロイを行ってくれる。(これがめちゃくちゃ便利)
初期設定では、どのブランチの場合でも検知してしまうため、制御したい。

方法

1. デプロイしたい対象ブランチのチェックを行うスクリプトを追加

まずは、プロジェクトのルートに下記のような内容でファイルを配置する。

#!/bin/bash

echo "VERCEL_GIT_COMMIT_REF: $VERCEL_GIT_COMMIT_REF"

if [[ "$VERCEL_GIT_COMMIT_REF" == "develop" || "$VERCEL_GIT_COMMIT_REF" == "main" ]] ; then
  # Proceed with the build
  echo "✅ - Build can proceed"
  exit 1;

else
  # Don't build
  echo "🛑 - Build cancelled"
  exit 0;
fi

ignore-build-step.sh

例として、プレビュー環境`develop`ブランチ、本番環境は`main`ブランチで管理したいときなど、指定したブランチだけを検知させるようにしている。

2. Vercelにコマンド設定

VercelダッシュボードでSettings>Git>Ignore Build Stepをひらく。
COMMANDを設定できるので、1で作成したファイルを実行できるように下記を登録する。

bash ignore-build-step.sh

完了🎉


この記事が気に入ったらサポートをしてみませんか?