今回はVercelのCLI(コマンドラインインターフェイス)で使うことの出来るコマンド一覧についてご紹介します。
CLIを使うことでターミナルからログの取得や証明書の管理等が可能になりますし、あらゆる作業を自動化することも可能です。
なお、Vercelの機能一覧については下記記事も御覧ください。
共通オプション
複数のVercelコマンドで利用できる共通のオプションです。
コマンド
–cwd(作業ディレクトリ指定)
vercel --cwd ~/作業ディレクトリ
作業ディレクトリを指定してコマンドを実行できるオプション (作業ディレクトリはカレントディレクトリとは違っていても良い)
–debug(デバッグ実行)
vercel --debug
vercel -d
実行時により詳細なログを確認できるオプション
–global-config (共通設定ディレクトリ指定)
vercel --global-config /共通設定ディレクトリ
vercel -Q /共通設定ディレクトリ
Vercel CLIの共通設定が保存されるディレクトリを指定してコマンドを実行できるオプション
–local-config(プロジェクト内の設定ファイル指定)
vercel --local-config /vercel.json
vercel -A /vercel.json
プロジェクト内の設定ファイルであるvercel.jsonを指定してコマンドを実行できるオプション
–scope(実行スコープの指定)
vercel --scope [スコープ名]
vercel -s [スコープ名]
vercelではユーザグループなどの組織分けをスコープと呼びますが、
現在利用していないスコープからの実行がこのオプションで可能になります。
–token(認証トークンを付与)
vercel --token iZJb2oftmY4ab12HBzyBXMkp
vercel --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.app
vercel bisect --g https://example.vercel.app
問題のないデプロイを指定できます。
このオプションを利用すると該当する対話式の設定は省略されます。
–bad(問題のあるデプロイを検索)
vercel bisect --bad https://example-s93n1nfa.vercel.app
vercel bisect --b https://example-s93n1nfa.vercel.app
問題のあるデプロイを指定できます。
このオプションを利用すると該当する対話式の設定は省略されます。
–path(サブパスの指定)
vercel bisect --path /blog/first-post
vercel bisect --p /blog/first-post
問題が発生したデプロイのサブパスを指定できます。
bisectの実行中、サブパスは検索されるすべてのデプロイURLに付属されます。
–open(デプロイを自動で開く)
vercel bisect --open
vercel bisect --o
検索した各URLを自動で開きます。
–run(bisectの実行自動化)
vercel bisect --run ./test.sh
vercel 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=value2
vercel -b KEY1=value1 -b KEY2=value2
デプロイ後、ビルドで利用する環境変数を渡すことができる。
–yes(確認の省略)
vercel --yes
新しくVercelのプロジェクトを作成する際に聞かれる設定項目を省略する。
このオプションを利用した場合、設定項目はデフォルト設定で保存される。
–env(実行時に利用する環境変数を渡す)
vercel --env KEY1=value1 --env KEY2=value2
vercel -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 --force
vercel -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 5005
vercel 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 --force
vercel 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 --yes
vercel 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=value2
vercel 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 --follow
vercel logs -f
いわゆるwatchコマンドの挙動。
デプロイのログを追従して取得することができる
–number(表示するログの行数)
vercel logs --number 10
vercel logs -n 10
表示するログの行数の制限ができる
–output(ログの出力方式の指定)
vercel logs --output raw
vercel logs -o raw
ログを短縮形(short)か、そのまま(raw)のどちらかを指定して出力できる。
–since(指定した日時以降のログを表示)
vercel logs --since 2019-09-04T07:05:43+00:00
–query(クエリで検索したログを表示)
vercel logs --query foo
vercel 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