コマンドラインで操作できる「Netlify CLI」を使いこなす
公開日: 2021.3.9
コマンドラインでNetlifyプロジェクトのビルド・デプロイなどを操作できる「Netlify CLI」についてまとめました。ビルドエラーになってしまった時の対処方法にもなります。
環境構築
Netlify CLIをインストール
Netlify CLIはNode.js製なのでバージョン10以降のNode.jsとnpmが必要です。
Node.jsとnpmインストールできていたら、npmからインストールします。
npm install netlify-cli -g
Netlifyアカウントと紐付け
インストールができたら、Netlify CLIとアカウントを紐付けます。
netlify login
ブラウザが開くので、Netlifyアカウントでログインして「Authorize」ボタンを押せば認証が完了します。
認証情報は「config.json」に書き込まれます。OSごとのconfig.jsonの場所は下記のようになります。
- macOS: Library/Preferences/netlify/config.json
- Linux: .config/netlify/config.json
- Windows: AppData\Roaming\netlify\Config\config.json
プロジェクトを紐付ける
Netlifyのサイトとローカルのプロジェクトディレクトリを紐付けます。
netlify link
対話式で紐付けができるので、Netlifyに登録しているサイトを一覧から選ぶことも可能です。紐付けができるとプロジェクトルートに「.netlify/state.json」が生成されます。
ちなみに、紐付けを解除する場合は、
netlify unlink
で解除します。
ここまでできたら事前準備は完了です。
開発サーバーを立ち上げる
Netlify CLIには、Netlifyの本番環境をシミュレートした開発環境が用意されています。
プロジェクトディレクトリで、
netlify dev
とコマンドを打ちます。プログラムの言語にもよりますが、package.jsonのdevelopコマンドなどを参照しているようで、記述があるとNetlify CLIが立ち上げる「localhost:8888」と、フレームワーク側が立ち上げるローカルサーバーが二重で立ち上がります。これはちょっと微妙ですね。
ローカルビルドする
プログラムのビルドを行うコマンドです。
netlify build
これはサイトのデプロイ設定してあるビルドコマンドを実行しているだけなのです。
Netlifyで公開するようなプロジェクトは、基本的にはビルドコマンドが備わっているフレームワークを使っていることが多いため常用するというよりかは、Netlifyでビルドエラーが起こった際にローカルで検証するためのコマンドという感じでしょうか。
Netlifyにデプロイする
中〜大規模のプロジェクトだと、Netlifyの貧弱なビルドロボットだとビルドにコケることがあります。そうした場合は、ローカルでビルドしてからNetlifyにローカルから直接デプロイをすれば解決します。
netlify deploy
これだけでデプロイがされます。
デプロイ時は、
- ディレクトリ指定:--dir=公開ディレクトリ
- 本番デプロイ:-p
のオプションが使えます。ちなみに、オプション引数を設定しないと、基本的にはステージング環境へのデプロイになります。
Netlifyで「Build exceeded maximum allowed runtime」となった時の対処方法
Netlifyで「Build exceeded maximum allowed runtime」となってビルドに失敗した時の対処方法をまとめました。
コマンドラインで操作できる「Netlify CLI」について見てきました。
こうしてみてみると、ドメイン設定などの細かい設定以外の、ビルド&デプロイに関することはほとんど出来るイメージですね。使い方的にはheroku cliなどに似ています。
価格は記載がある場合を除き、すべて税込みです。
関連キーワード
サーバレスの新着記事
- サーバレスCloudflare R2の料金体系・無料枠まとめ 2024.8.21
- サーバレスCloudflare R2をCyberduckで使う方法 2024.7.31
- サーバレスAIの学習ボット・クローラーからサイトを守るメリットとブロックする方法 2024.7.19
- サーバレスCloudFlare Pagesのビルド環境の違い 2024.5.9
- サーバレスCloudflare D1の料金体系・無料枠まとめ 2024.3.25
- サーバレスCloudflare PagesでNuxt3のビルド時に「ENOENT: no such file or directory」エラーの対象方法 2024.3.21
- サーバレスGitlab CLIでpush時に「glab auth not found」となった際の対処方法 2024.3.19
- サーバレスCloudFlare Workers AIの料金体系・無料枠まとめ 2024.2.2