Netlify とは?Git 駆動の web デプロイ
Netlify は web デプロイプラットフォームで、Git リポジトリからフロントエンドサイトと serverless 関数を build してホストし、deploy preview とグローバルな CDN を備えます。
Netlify は Jamstack のアプローチを広めました。フロントエンドを静的アセットへ build し、CDN から配信し、serverless 関数で動的な振る舞いを加えます。Vercel と同様、repo に接続して push でデプロイし、preview URL を生成し、HTTPS とグローバル配信を自動で処理します。
Netlify のデプロイ方法
Git repo をリンクし、build command と publish directory を(多くの場合 netlify.toml ファイルで)設定します。push のたびに Netlify は build を実行し、その出力を CDN へデプロイし、URL を返します。production デプロイは main branch から行われます。
deploy preview とロールバック
- 各プルリクエストに対する preview デプロイ。
- リリースが全か無かになるアトミックなデプロイ。
- 任意の過去のデプロイへの即時ロールバック。
動的な機能
Netlify Functions(serverless)と edge function が backend ロジックを加え、forms、redirects、identity のような機能が、別個のサーバーなしで一般的なニーズをカバーします。これにより、ほぼ静的なサイトが動的な振る舞いを持てます。
Netlify vs Vercel
両者は、似た Git 駆動の workflow と deploy preview を持つ近い競合です。Vercel は Next.js と密接に結びつき、Netlify はフレームワーク非依存で Jamstack 志向です。適切な選択は通常、フレームワークとの相性と、プラットフォーム固有の機能に帰着します。
CI/CD での役割
Netlify はパイプライン全体を担えます。push で build、preview、デプロイです。より多くの制御が欲しい場合、チームは GitHub Actions でテストを実行し、CLI または Git 連携経由で Netlify をトリガーし、production デプロイの前に required status checks で merge をゲートします。
重要なポイント
- Netlify はフロントエンドサイトと関数を Git から build・ホストし、CDN 上に配信します。
- deploy preview、アトミックなデプロイ、ワンクリックのロールバックを提供します。
- 単体で CI/CD として機能することも、チェックのために GitHub Actions と組み合わせることもできます。