AstroサイトをNetlifyにデプロイする
Netlifyは、ウェブアプリケーションや静的ウェブサイトのためのホスティングとサーバーレスバックエンドサービスを提供しています。Astroサイトは全てNetlifyでホストできます!
このガイドは、NetlifyのウェブサイトUIまたはNetlifyのCLIを介してデプロイするための手順を説明しています。
プロジェクトの設定
Astroプロジェクトは、静的サイト、サーバーレンダリングサイト、エッジレンダリングサイトの3つの異なる方法でNetlifyにデプロイできます。
静的サイト
Astroプロジェクトは、デフォルトでは静的サイトです。Netlifyに静的Astroサイトをデプロイするために、特に追加の設定は必要ありません。
SSR用のアダプターを追加する
AstroプロジェクトでSSRを有効にし、NetlifyのEdge Functionsを使用してNetlifyにデプロイするには:
以下のastro add
コマンドでNetlifyアダプター (EN)を追加し、AstroプロジェクトでSSRを有効にします。これによりアダプターがインストールされ、astro.config.mjs
ファイルに適切な変更が1ステップで行われます。
アダプターを手動でインストールする場合は、以下の2つのステップを実行してください。
-
@astrojs/netlify
アダプター (EN)を、パッケージマネージャーを使ってプロジェクトの依存関係にインストールします。npmをパッケージマネージャーとして使用しているかどうかわからない場合は、ターミナルで以下のコマンドを実行します。 -
astro.config.mjs
プロジェクト設定ファイルに新しく以下の2行を追加します。Netlifyアダプターの設定に
edgeMiddleware: true
を追加することで、NetlifyのEdge Functionsを使用してプロジェクトをデプロイすることもできます。
デプロイ方法
NetlifyのウェブサイトUI、もしくはNetlifyのCLI(コマンドラインインターフェース)を使うことでデプロイできます。デプロイする方法は、静的サイトもSSRサイトも同じです。
ウェブサイトUIを使ったデプロイ方法
GitHub、GitLab、BitBucket、またはAzure DevOpsにプロジェクトがある場合は、NetlifyのウェブサイトUIを使用してAstroサイトをデプロイできます。
-
NetlifyダッシュボードでAdd a new siteをクリックします。
-
Import an existing projectを選択します。
GitプロバイダーからAstroリポジトリをインポートする場合、Netlifyが自動で正しい構成設定を事前に入力します。
-
以下の設定が入力されていることを確認し、Deployボタンをクリックします。
- Build Command:
astro build
もしくはnpm run build
- Publish directory:
dist
- Build Command:
デプロイが完了すると、サイトの概要ページにリダイレクトされます。そこでサイトの設定を編集できます。
ソースリポジトリ内の変更があった際には、デプロイ設定に基づいてプレビューと本番環境のデプロイをトリガーします。
netlify.toml
ファイル
オプションとして、プロジェクトリポジトリのトップレベルに新しくnetlify.toml
ファイルを作成し、ビルドコマンドと公開ディレクトリ、環境変数やリダイレクトなどのプロジェクトの設定ができます。Netlifyはこのファイルを読み込み、デプロイを自動で設定します。
デフォルトの設定を構成するには、以下のnetlify.toml
ファイルを作成します。
📚 さらに詳しい情報は、Netlifyのブログの“既存のAstroのGitリポジトリをデプロイ”を参照してください。
CLIを使ったデプロイ方法
Netlify CLIを使って新しくNetlifyサイトを作成し、Gitリポジトリをリンクすることもできます。
-
グローバルにNetlifyのCLIをインストールします。
-
netlify login
を実行し、Netlifyにログインして認証します。 -
netlify init
を実行し、手順に沿って進めます。 -
ビルドコマンド(
astro build
)を確認します。CLIはビルドコマンド(
astro build
)とデプロイディレクトリ(dist
)を自動で検出し、それらの設定を含んだnetlify.toml
ファイルを自動で生成することを選択するかどうか聞きます。 -
Gitにプッシュしてビルドとデプロイを行います。
CLIはリポジトリにデプロイキーを追加します。そのため、
git push
するたびにNetlifyでサイトが自動で再ビルドされます。
📚 さらに詳しい情報は、NetlifyのブログのNetlify CLIを使ったAstroサイトのデプロイを参照してください。
Node.jsバージョンの設定
Netlifyのレガシー機能build image (Xenial)を使用している場合は、Node.jsの正しいバージョンが設定されていることを確認してください。AstroはNode.jsv18.14.1
以上のバージョンが必要です。
以下の方法でNode.jsのバージョンをNetlify上で指定できます。
- ベースディレクトリ上にある
.nvmrc
ファイル - Netlifyプロジェクトダッシュボード上にある、サイト設定
NODE_VERSION
環境変数
Netlify Functionsを使用する方法
Netlify FunctionsとAstroを併用して使う場合、特別な設定は必要ありません。プロジェクトルートにnetlify/functions
ディレクトリを追加し、Netlify Functionsのドキュメントに従って進めてください!
例
- Astroサイトのデプロイ方法 — Netlifyブログ
- フォーム、サーバーレスファンクション、リダイレクトを利用したAstroサイトのデプロイ — Netlifyブログ
- 開発の実演動画 — Netlify YouTubeチャンネル