今回はVercelのCLI(コマンドラインインターフェイス)で使うことの出来るコマンド一覧についてご紹介します。
CLIを使うことでターミナルからログの取得証明書の管理等が可能になりますし、あらゆる作業を自動化することも可能です。

なお、Vercelの機能一覧については下記記事も御覧ください。

 

 

共通オプション

複数のVercelコマンドで利用できる共通のオプションです。

 

コマンド

--cwd(作業ディレクトリ指定)

vercel --cwd ~/作業ディレクトリ

作業ディレクトリを指定してコマンドを実行できるオプション (作業ディレクトリはカレントディレクトリとは違っていても良い)

 

–debug(デバッグ実行)

vercel --debugvercel -d 

実行時により詳細なログを確認できるオプション

 

--global-config (共通設定ディレクトリ指定)

vercel --global-config /共通設定ディレクトリvercel -Q /共通設定ディレクトリ

Vercel CLIの共通設定が保存されるディレクトリを指定してコマンドを実行できるオプション

 

--local-config(プロジェクト内の設定ファイル指定)

vercel --local-config /vercel.jsonvercel -A /vercel.json

プロジェクト内の設定ファイルであるvercel.jsonを指定してコマンドを実行できるオプション

 

--scope(実行スコープの指定)

vercel --scope [スコープ名]vercel -s [スコープ名] 

vercelではユーザグループなどの組織分けをスコープと呼びますが、
現在利用していないスコープからの実行がこのオプションで可能になります。

 

--token(認証トークンを付与)

vercel --token iZJb2oftmY4ab12HBzyBXMkpvercel --t iZJb2oftmY4ab12HBzyBXMkp 

コマンド実行時に認証が必要な場合、このように認証トークンを付与しながらコマンドを実行することができます。

 

--no-color(ログの色付けをなくす)

vercel login --no-color

ターミナル上の表示から色付けや絵文字を無くします

 

 

alias

デプロイ先のURLを独自のドメインに変更するためのコマンド。

 

コマンド

カスタムドメイン割当:

vercel alias set [デプロイ先のURL] [カスタムドメイン]

ドメイン削除:

vercel alias rm [カスタムドメイン]

カスタムドメイン一覧確認:

vercel alias ls

独自オプション

--yes(ドメイン削除の確認省略)

vercel alias rm [カスタムドメイン] --yes

--limit(ドメイン一覧確認の表示数制限)

vercel alias ls --limit 100

 

 

bisect

git bisectと同じように二分探索で問題のあるデプロイを見つけるコマンド。

 

コマンド

vercel bisect

オプションをつけずに実行すると、対話式に問題のない(良い)デプロイと問題のある(悪い)デプロイを指定し、その間にある初めて出てきた問題のあるデプロイを見つけます。

 

独自オプション

--good(問題のないデプロイを検索)

vercel bisect --good https://example.vercel.appvercel bisect --g https://example.vercel.app

問題のないデプロイを指定できます。
このオプションを利用すると該当する対話式の設定は省略されます。

 

--bad(問題のあるデプロイを検索)

vercel bisect --bad https://example-s93n1nfa.vercel.appvercel bisect --b https://example-s93n1nfa.vercel.app

問題のあるデプロイを指定できます。
このオプションを利用すると該当する対話式の設定は省略されます。

 

--path(サブパスの指定)

vercel bisect --path /blog/first-postvercel bisect --p /blog/first-post

問題が発生したデプロイのサブパスを指定できます。
bisectの実行中、サブパスは検索されるすべてのデプロイURLに付属されます。

 

--open(デプロイを自動で開く)

vercel bisect --openvercel bisect --o

検索した各URLを自動で開きます。

 

--run(bisectの実行自動化)

vercel bisect --run ./test.shvercel bisect -r ./test.sh

シェルスクリプトを利用してbisectの実行を自動化することができる。
例)curlコマンドを利用して終了コードをチェックし、それによってシェルスクリプト内でgood、badを分類する。


 

build

Vercelプロジェクトをローカルでビルドする、もしくはCI環境でビルドする際に利用するコマンド。

 

コマンド

vercel build

独自オプション

--prod(本番環境向けのビルド実行)

vercel build --prod

本番環境用の環境設定を利用してビルドしたい場合に実行する。
このオプションを付けないときはプレビュー版の環境設定となる。

 

--yes(確認の省略)

vercel build --yes

確認用の対話プロンプトを省略することができる。
また、環境変数やプロジェクト設定がローカルにない場合、自動で取ってきてビルドしてくれる。

 

 

certs

ドメインの証明書管理用のコマンド。

 

コマンド

証明書一覧確認:

vercel certs ls

lsをつけると現在のスコープにある全証明書を一覧で表示してくれる。

 

証明書発行:

vercel certs issue [ドメイン1, ドメイン2, ドメイン3]

指定した複数のドメインに対して証明書を発行できるコマンド。

 

証明書削除:

vercel certs rm [証明書id]

証明書のIDを元に証明書の削除ができるコマンド。

 

独自オプション

--challenge-only(証明書発行に必要なことの表示)

vercel certs issue foo.com --challenge-only

例えば上記の場合、foo.comに証明書を発行するに際して必要な行動を表示してくれる。

 

--limit(表示制限)

vercel certs ls --limit 100

一覧表示する際に表示する証明書の数を制限できる。

 

 

deploy

ローカルのVercelプロジェクトをデプロイメントするためのコマンド。

 

コマンド

標準的なデプロイ

vercel

vercelプロジェクトのルートディレクトリでvercelコマンドを打つことで、プロジェクトをデプロイすることができる。

 

作業ディレクトリ指定

vercel --cwd [vercelプロジェクトのパス]

 --cwdオプションを利用することでプロジェクト外からデプロイの実行が可能。

 

事前ビルドしたプロジェクトのデプロイ

vercel deploy --prebuilt

--prebuiltオプションを利用することで、vercel buildで事前にビルドしたプロジェクトをデプロイできる。これを利用することでVercel側にソースコードを共有してビルドする時間を短縮できる。

 

標準出力

vercel > deployment-url.txt

デプロイ後に標準出力を利用して、デプロイURLを戻り値として受け取り出力することができる。
これにより、デプロイコマンド後、すぐにその結果にアクセスすることができる。

 

独自オプション

--build-env(ビルド時に環境変数を渡す)

vercel --build-env KEY1=value1 --build-env KEY2=value2vercel -b KEY1=value1 -b KEY2=value2

デプロイ後、ビルドで利用する環境変数を渡すことができる。

 

--yes(確認の省略)

vercel --yes

新しくVercelのプロジェクトを作成する際に聞かれる設定項目を省略する。
このオプションを利用した場合、設定項目はデフォルト設定で保存される。

 

--env(実行時に利用する環境変数を渡す)

vercel --env KEY1=value1 --env KEY2=value2vercel -e KEY1=value1 -e KEY2=value2

Serverless Functions実行時に利用する環境変数を渡す事ができる。

 

--prod(本番環境向けのデプロイ実行)

vercel --prod

本番環境用のドメインに対するデプロイを作成する。

 

--public(ソースコードを公開してデプロイする)

vercel --public

publicをつけたデプロイは、誰でもソースコードやログを見ることができるようになります。(vercelへのログインは必要です)

 

--regions(デプロイしたServerless Functionsのregion指定)

vercel --regions sfo1

Serverless Functionsがどの地域から提供されるかを設定できます。
regionは下記のリンク内のregion codeで指定します。
https://vercel.com/docs/edge-network/regions

 

--no-wait(デプロイの完了を待たずにデプロイコマンド終了)

vercel --no-wait

デプロイの完了のログが表示される前にコマンドの実行を終了します。
(使い道があまり想像できませんが、シェルスクリプトなどで利用する際、待たずに別のコマンドを利用したい状況があるのではと思われます。)

 

--force(ビルドキャッシュなしで新しいデプロイを作成)

vercel --forcevercel -f

ビルドキャッシュなしでまっさらな状態からデプロイをし直したい場合に利用されます。

 

--with-cache(--forceを利用しつつ、ビルドキャッシュを保持する。)

vercel --force --with-cache

ビルドキャッシュ自体は保持しつつも、--forceでデプロイを強制したい場合に利用します。

 

--archive(デプロイしたいファイル群をアップロード前に圧縮する)

vercel --archive=tgz

現在はtgz形式のみ対応している。
 

 

dev

ローカルでVercelプロジェクトを実行し、確認するためのコマンド。
※実行前にnpm installを実行し、プロジェクトの依存関係が解決されている必要がある。
※フロントエンドフレームワーク側のdevコマンドが存在している場合はそちらの利用を推奨している。(next devなど)

 

コマンド

vercel dev

 

独自オプション

--listen(ポート番号の指定)

vercel dev --listen 5005vercel dev -l 5005

指定したポート番号で実行することが可能(上記だと、localhost:5005)

 

--yes(確認の省略)

vercel dev --yes

新規にVercelプロジェクトを設定する際の確認項目をスキップする。
各質問項目の回答はすべてデフォルトの内容となる。


 

dns

DNS(Domain Name System)の管理用コマンド。
※DNSにレコードを追加したときは、内容が反映されるまで24時間ほど待つ必要がある。

 

コマンド

DNSレコードの一覧表示

vercel dns ls

現在のスコープ上のDNSレコードをすべて表示することができる。

 

DNSレコードの追加
・ドメインのMXレコード(メールをメールサーバに転送するためのレコード)を追加する場合

vercel dns add [ドメイン] '@' MX [DNSレコードの値] [優先順位]

・ドメインのSRVレコード(特定のサービスのホストとポートを指定するレコード)を追加する場合

vercel dns add [ドメイン] [レコード名] SRV [優先順位] [重み] [ポート] [ホスト]

・ドメインのCAAレコード(ドメイン名に対応する証明書の発行を許可する認証局を指定するレコード)を追加する場合

vercel dns add [ドメイン] [レコード名] CAA '[フラグ] [タグ] "[レコードの値]"'

DNSレコードの削除

vercel dns rm [レコードID]

レコードIDを元にレコードを削除できる

 

DNSレコードのインポート

vercel dns import [ドメイン] [ゾーンファイルのパス]

DNSレコードをひとまとめにしたゾーンファイルをドメインに対してインポートできる。

 

独自オプション

--limit(一覧表示の制限)

vercel dns ls --limit 100

 

 

domains

現在のスコープ上にあるドメインの管理をするためのコマンド。

 

コマンド

ドメインの一覧表示

vercel domains ls

ドメイン情報取得

vercel domains inspect [ドメイン名]

ドメイン名で指定したドメインの情報を取得することができる。

 

ドメイン追加

vercel domains add [ドメイン名] [プロジェクト名(省略可)]

現在のスコープのプロジェクトか、指定したプロジェクトにドメインを追加できる。

 

ドメイン削除

vercel domains rm [ドメイン名]

指定したドメインを削除することができる

 

ドメイン購入

vercel domains buy [ドメイン名]

指定したドメイン名が購入可能な状態であれば購入し、現在のスコープのプロジェクトに割り当てることができる。

 

ドメイン移動

vercel domains move [ドメイン名] [スコープ名]

別のスコープにドメインを移行することができる。

 

ドメイン転送

vercel domains transfer-in [ドメイン名]

現在のスコープにドメインを転送できる。

 

 

独自オプション

--yes(確認の省略)

vercel domains rm [ドメイン名] --yes

ドメイン削除時の確認項目をスキップすることができる

 

--limit(一覧表示の制限)

vercel domains ls --limit 100

--force(強制的に実行)

vercel domains add my-domain.com my-project --forcevercel domains add my-domain.com my-project -f

既存のプロジェクトで利用しているドメインを強制的にプロジェクトに追加することができる。

 

env

環境変数を管理する用のコマンド
※vercel buildやvercel devなどを利用する際には、環境変数の保存箇所の関係上、envコマンドではなくvercel pullを利用したほうが良い

 

コマンド

開発環境で利用する変数の出力

vercel env pull [ファイル名]

next devやgatsby devなどを利用してローカルで開発する場合、任意の.envファイルにvercelの環境変数を出力することができる。
ファイル名を指定しない場合は.env.localに保存される

vercel env pull --environment=preview --git-branch=feature-branch

上記のように環境やgitブランチを指定してpullすることもできる。

MY_ENV_VAR="temporary value" next dev

一時的に変数を上書きして利用したい場合は、上記のように実行することができる。

 

変数一覧の表示

vercel env ls

プロジェクトに属する全環境変数を表示することができる。

vercel env ls [環境(production, preview, development)] [gitのブランチ名]

上記のように環境やgitのブランチを指定し、フィルタリングして実行することもできる

 

環境変数の追加

vercel env add

対話式に変数の名前、値、利用する環境(production, preview, development)を指定して環境変数を追加できる。

vercel env add [変数名] [環境(production, preview, development)] [gitのブランチ名]

上記のように変数名や環境gitのブランチ名を利用し、特定の環境に絞って追加することも可能。

また、変数の値を初めから定義してコマンド実行する方法として

vercel env add < [file]

上記のようにファイルの内容を値として利用する方法や、

echo [value] | vercel env add

echoで値を生成して流し込む方法が存在する。

 

環境変数の削除

vercel env rm

変数名を指定し、対話式に環境変数の削除ができる。

vercel env rm [name] [environment]

削除でも追加と同じように変数名と削除したい環境の指定を行って実行することができる。

 

独自オプション

--yes(確認の省略)

vercel env pull --yesvercel env rm [name] --yes

pullとrmで--yesを付与することができ、これにより、確認事項をスキップすることができる。

 

 

git

gitリポジトリからVercelにインポート&デプロイなどをするため、gitとVercelを接続するコマンド

 

コマンド

gitと接続

vercel git connect

ローカルの.gitconfigファイルを元にリンクされているVercelプロジェクトと接続できる。

 

gitと接続解除

vercel git disconnect

独自オプション

--yes(確認の省略)

vercel git connect --yes

git接続時の確認項目をスキップできる

 

 

init

Vercelのプロジェクトを利用したいフロントエンドフレームワークに合わせてローカルで初期化するコマンド。
使えるフレームワークは下記urlを参照
https://github.com/vercel/vercel/tree/main/examples

 

コマンド

vercel init

現在のスコープ内のプロジェクトを初期化する。

vercel init [プロジェクト名]

上記のようなコマンドで、vercelで初期化したプロジェクトを新規で作成することができる。

vercel init [プロジェクト名] [新プロジェクト名]

上記のコマンドで、対象のプロジェクトを初期化しつつ、名前を変更することができる。

vercel init gatsby

フレームワーク名を入力することでフレームワークの選択を省略することも可能。 

 

独自オプション

--force(強制実行)

vercel init --force

既存のプロジェクトを強制的に初期化して置き換える。

 

 

inspect

デプロイに関する情報取得用コマンド

 

コマンド

vercel inspect [デプロイメントid or url]

デプロイメントのidかデプロイURLを元に情報取得ができる

 

独自オプション

--timeout(デプロイのタイムアウト時間設定)

vercel inspect https://example-app-6vd6bhoqt.vercel.app --timeout=5m

デプロイの完了を何分待機するかを設定できる

 

--wait(指定したデプロイが完了するまでCLI側で待機させる)

vercel inspect https://example-app-6vd6bhoqt.vercel.app --wait

 

 

link

ローカル環境とVercelプロジェクトを接続するためのコマンド

 

コマンド

vercel link

現在のディレクトリをVercelプロジェクトと接続します。

vercel link [リンクしたいディレクトリのパス]

特定のディレクトリを指定して実行することも可能です。

 

独自オプション

--yes(確認の省略)

vercel link --yes

新しいVercelプロジェクトの設定を省略することができます。
確認項目はすべてデフォルト値で設定されます。

 

 

list

現在リンクされているVercelプロジェクトの最近のデプロイを一覧で表示できるコマンド。
lsコマンドとして省略できる。

 

コマンド

vercel list

vercel list [プロジェクト名]

特定のVercelプロジェクトのみにフィルターして一覧表示できる。

 

独自オプション

--meta(メタデータでフィルタリング)

vercel list --meta key1=value1 key2=value2vercel list -m key1=value1 key2=value2

メタデータでフィルタリングしたデプロイを一覧表示できる

 

--yes(確認の省略)

vercel list --yes

新しいVercelプロジェクトの設定を省略することができます。
確認項目はすべてデフォルト値で設定されます。

 

 

login

CLIからVercelにログインするコマンド

 

コマンド

vercel login

対話式で下記のログイン項目から選んでログインできる。

github

gitlab

bitbucket

Eメール

SAML(シングルサインオン)

 

vercel login me@example.com

メールアドレスを入力すると、確認を省略してEメールログインが可能

 

vercel login acme

同じようにチームスラッグを入れることでSAMLでのログインを直接行える。

 

独自オプション

--github(githubログイン)

vercel login --github

githubでのログインを確認を省略して行う。

 

--gitlab(gitlabログイン)

vercel login --gitlab

gitlabでのログインを確認を省略して行う。

 

--bitbucket(bitbucketログイン)

vercel login --bitbucket

bitbucketでのログインを確認を省略して行う。

 

 

logout

VercelCLIからVercelのログアウトを行うコマンド

 

コマンド

vercel logout

 

logs

ログの取得用コマンド

 

コマンド

vercel logs [デプロイurl]

特定のデプロイのログ情報を取得することができる

 

独自オプション

--follow(ログの監視)

vercel logs --followvercel logs -f

いわゆるwatchコマンドの挙動。
デプロイのログを追従して取得することができる

 

--number(表示するログの行数)

vercel logs --number 10vercel logs -n 10

表示するログの行数の制限ができる

 

--output(ログの出力方式の指定)

vercel logs --output rawvercel logs -o raw

ログを短縮形(short)か、そのまま(raw)のどちらかを指定して出力できる。

 

--since(指定した日時以降のログを表示)

vercel logs --since 2019-09-04T07:05:43+00:00

--query(クエリで検索したログを表示)

vercel logs --query foovercel logs -q foo

fooで検索して引っかかったログが表示される。

 

--until(指定した日時までのログを表示)

vercel logs --until 2019-09-04T07:05:43+00:00

 

project

Vercelプロジェクトの管理用コマンド

 

コマンド

基本的に対話式のプロンプトでプロジェクトの管理ができる。

 

プロジェクト一覧表示

vercel project ls

プロジェクト追加

vercel project add

新しいプロジェクトを作成して追加する

 

プロジェクト削除

vercel project rm

 

promote

既存のデプロイをpromoteする。(日本語訳が難しいが、現在メインで扱うデプロイメントとするようなイメージ。主にプレビューや開発環境のデプロイを本番環境にpromoteするような形で利用する。)

 

コマンド

vercel promote [デプロイメントid or url]

idかURLで指定した既存のデプロイをカレント(現在の)デプロイにする

 

独自オプション

--timeout(タイムアウト設定)

vercel promote https://example-app-6vd6bhoqt.vercel.app --timeout=5m

promoteの完了を待機するタイムアウト時間を設定するオプション

 

 

pull

vercel buildやvercel devをオフラインで利用する際にローカルのキャッシュに環境変数を持ってくるために利用する。

 

コマンド

vercel pull

vercel pull --environment=preview --git-branch=feature-branch

上記のように環境とgitブランチを指定して実行することもできる。

 

独自オプション

--yes(確認の省略)

vercel pull --yes

新しいVercelプロジェクトの設定をする際の確認をスキップする。
確認事項はデフォルト値になる

 

remove

特定のVercelプロジェクトのデプロイメントを削除するコマンド

 

コマンド

vercel remove [デプロイメントurl]vercel rm [デプロイメントurl]vercel remove [デプロイメントurl, デプロイメントurl2]複数のデプロイを同時に削除することも可能。vercel remove [プロジェクト名]

プロジェクト名を指定することでそのプロジェクト内のすべてのデプロイを削除できる。(Vercelプロジェクト自体の削除と実質同義、-safeオプションを付けるとVercelプロジェクトの削除はされなくなる。)

 

独自オプション

--yes(確認の省略)

vercel remove my-deployment.com --yes

削除時の確認項目をスキップすることができる。

 

 

rollback

本番環境のデプロイメントを以前のデプロイメントにロールバックできるコマンド

 

コマンド

vercel rollback

現在進行中の全ロールバックの状態を取得する

vercel rollback [デプロイメントid or url]

指定したデプロイメントを以前のものにロールバックする。

 

独自オプション

--timeout(タイムアウト設定)

vercel rollback https://example-app-6vd6bhoqt.vercel.app --timeout=5m

ロールバックの完了を待つ時間を設定できる。

 

 

switch

Vercel CLIでログインしたチームを別のものに変更するためのコマンド

 

コマンド

vercel switch

上記コマンドだと対話式にチームのリストから変更します。

vercel switch [チーム名]

チーム名を直接指定して変更することができる

 

 

teams

Vercelのチーム管理用コマンド
※ダッシュボードからGUIで設定するとより詳細にチームの管理ができる

 

コマンド

チーム一覧表示

vercel teams list

チームの追加

vercel teams add

対話式でチーム名を選択して追加可能

 

チームへの招待

vercel teams invite [メールアドレス]

チームメンバーをメールアドレスを介して招待できる

 

 

whoami

現在CLIにログインしているユーザのユーザ名を表示するコマンド

 

コマンド

vercel whoami

 

お問合せ&各種リンク

お問合せ:GoogleForm

ホームページ:https://libproc.com

運営会社:TodoONada株式会社

Twitter:https://twitter.com/Todoonada_corp

Instagram:https://www.instagram.com/todoonada_corp/

Youtube:https://www.youtube.com/@todoonada_corp/

Tiktok:https://www.tiktok.com/@todoonada_corp

 

presented by