概要
Netlify はデフォルトでは連携した GitHub のレポジトリにプッシュすると自動でビルドとデプロイが走りますが、何らかの理由でビルドとデプロイを自前で行いたい場合に、 netlify-cli が使える。
Next アプリケーションを netlify-cli でデプロイする際の方法のメモ
netlify-cli
yarn add -D netlify-cli @netlify/plugin-nextjs
@netlify/plugin-nextjs
自前でデプロイする場合、SSRやISR、API Routesなどを適切に Netlify 環境にデプロイするためにこの公式プラグインが必要。
netlify.toml の用意
netlify.toml
[[plugins]]
package = "@netlify/plugin-nextjs"
[build]
base = "./"
command = "ビルドコマンド"
publish = ".next"
モノレポの場合、このファイル自体はレポジトリのルートに置き、 base
はルート( ./
)を、 publish
は ./path/to/.next/
のように該当パッケージへのパスにした。
ドキュメント読む限りファイル自体ルートじゃなくても大丈夫そうだけど、各パッケージのビルドをデプロイ前にする、とか考えるとルートにある方が自然な気はする。
デプロイコマンド
@netlify/plugin-nextjs を使っている場合、ビルドコマンドとデプロイコマンドは分離できない。
# プレビューデプロイ
netlify deploy --build
# 本番デプロイ
netlify deploy --build --prod
このコマンドが、netlify.toml を読み込んでビルドとデプロイを実行する。