Closed10

VercelのIgnored Build Stepを使って、特定のブランチがpushされたときだけプレビュービルドを作成する

bisquebisque

試したコマンドその1

test $(git symbolic-ref --short HEAD) != "develop"

13:16:36.903  	Running "test $(git symbolic-ref --short HEAD) != "develop""
13:16:36.907  	test: extra argument ‘symbolic-ref’
13:16:37.296  	Error: Command failed with exit code 2: test $(git symbolic-ref --short HEAD) != "develop"
13:16:37.296  	test: extra argument ‘symbolic-ref’

エラーになる。

bisquebisque

試したコマンドその2

test $(git branch --show-current) != "develop"

13:22:07.727  	Running "test $(git branch --show-current) != "develop""
13:22:07.733  	test: extra argument ‘branch’
13:22:08.139  	Error: Command failed with exit code 2: test $(git branch --show-current) != "develop"
13:22:08.139  	test: extra argument ‘branch’

エラーになる。

bisquebisque

試したコマンドその3

トリガーとなったブランチ名は VERCEL_GIT_COMMIT_REF に設定されているのでそれを参照する。

test "$VERCEL_GIT_COMMIT_REF" != "develop"

13:34:09.066  	Running "test "$VERCEL_GIT_COMMIT_REF" != "develop""
13:34:09.076  	The Deployment has been canceled as a result of running the command defined in the "Ignored Build Step" setting.
13:34:10.498  	Deployment has been canceled

キャンセルができた。

環境変数の説明
https://vercel.com/docs/environment-variables#system-environment-variables

より詳しいスクリプトの書き方の解説記事
https://vercel.com/support/articles/how-do-i-use-the-ignored-build-step-field-on-vercel

bisquebisque

この方法では、すべてのブランチでキャンセルされていた 😇

たかけんたかけん

方法が分からず困っていたのですが、助かりました!

bisquebisque

上記の方法だと全てキャンセルされてしまっていました🙏

スクリプトを使うしかなさそうで、成功した方法を下に記載しました。

bisquebisque

testコマンドでは何をやってもキャンセル(終了コード: 0)になってしまうので、スクリプトを書くしかなさそう。
https://vercel.com/support/articles/how-do-i-use-the-ignored-build-step-field-on-vercel

ほぼサンプル通りだが以下のスクリプトを作成し、Ignored Build Stepのコマンドに bash スクリプト名 を設定することで想定通りの動きとなった。

#!/bin/bash

echo "VERCEL_GIT_COMMIT_REF: $VERCEL_GIT_COMMIT_REF"

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

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

キャンセルされる時

15:40:01.374  	Running "bash scripts/vercel-ignore-build-step.sh"

15:40:01.385  	🛑 - Build cancelled

ビルドされる時

15:31:26.513  	Running "bash scripts/vercel-ignore-build-step.sh"

15:31:26.522  	✅ - Build can proceed
このスクラップは2021/03/19にクローズされました