Vercel の自動デプロイを止めるには?
push のたびのデプロイを止めるには、vercel.json に `git.deploymentEnabled` を書きます。{ "git": { "deploymentEnabled": false } } ですべてのブランチ、{ "dev": false } のようにブランチ名を書けばそのブランチだけが止まります。
デプロイは作られてよく、ビルドだけ飛ばしたいなら、Settings の Build and Deployment の Ignored Build Step を使います。本番に出るのだけを止めたいなら、本番ドメインの自動の割り当てを切ります。
目的ごとの止め方は?
| 止めたいもの | 方法 |
|---|---|
| 特定のブランチのデプロイ | git.deploymentEnabled にブランチ名と false(internal-* のような書き方もできる) |
| すべての自動デプロイ | git.deploymentEnabled を false |
| 条件に合わないときのビルド | Ignored Build Step(「Don't build anything」など) |
| 本番に自動で出ること | Environments の Production で、Auto-assign Custom Production Domains を切る |
| Git との連携そのもの | Settings の Git で、Connected Git Repository を Disconnect |
特定のブランチのデプロイ
方法git.deploymentEnabledにブランチ名とfalse(internal-*のような書き方もできる)すべての自動デプロイ
方法git.deploymentEnabledをfalse条件に合わないときのビルド
方法Ignored Build Step(「Don't build anything」など)本番に自動で出ること
方法Environments の Production で、Auto-assign Custom Production Domains を切るGit との連携そのもの
方法Settings の Git で、Connected Git Repository を Disconnect
Ignored Build Step は、どう働く?
Settings の Build and Deployment にある Ignored Build Step で、ビルドするかを決めるコマンドを選びます。「Only build production」「Only build if there are changes in a folder」「Don't build anything」などの選択肢があり、自分のスクリプトも使えます。
コマンドが終了コード 1 ならビルドを続け、0 なら止めて、デプロイは CANCELED になります。
今動いているビルドを止めたいときは?
ビルド中のデプロイは、取り消し(Cancel)ができます。Vercel の API の説明では、間違って出したデプロイや、違うブランチへの push、エラーがわかっているビルドを、終わるのを待たずに止めるためのもので、取り消すと状態は CANCELED になります。すでに完了(READY)・エラー(ERROR)・取り消し済みのものは取り消せません。
いま本番に出ているものを前に戻したいときは、取り消しではなくロールバックを使います(本番を前のデプロイに戻すには?)。
参考にした資料
- Vercel Docs「Git Configuration」
- Vercel Docs「Project settings」
- Vercel Docs「Git settings」
- Vercel Docs「Promoting Deployments」
- Vercel Docs「Cancel a deployment(REST API)」
記事は Vercel の公式ドキュメントをもとにした、個人のまとめです。画面の名前やプランの数字は変わることがあるので、最新は公式ドキュメントで確かめてください。Verdash は Vercel Inc. の公式アプリではありません。Vercel は Vercel Inc. の商標です。