AstroサイトをDenoにデプロイする
Astroのサーバーサイドレンダリングされたサイトを、世界中のエッジでJavaScript、TypeScript、およびWebAssemblyを実行する分散システムであるDeno Deployにデプロイできます。
このガイドには、GitHub ActionsまたはDeno DeployのCLIを使用して、Deno Deployにデプロイする手順が含まれています。
必要条件
セクションタイトル: 必要条件このガイドは、すでにDenoをインストールしていることを前提としています。
プロジェクトの設定
セクションタイトル: プロジェクトの設定Astroプロジェクトは、サーバーサイドレンダリングサイト(SSR)としてDeno Deployにデプロイできます。Deno Deployは静的サイトをサポートしていません。
SSR用アダプター
セクションタイトル: SSR用アダプターAstroプロジェクトでSSR(サーバーサイドレンダリング)を有効にし、Deno Deployにデプロイするには以下の手順を実行します。
次のastro add
コマンドで、AstroプロジェクトにSSRを有効にするための[Denoアダプター][Deno adapter]を追加します。このコマンドは、アダプターをインストールし、astro.config.mjsファイルに適切な変更を一括で行います。
アダプターを手動でインストールする場合は、以下の2つのステップを実行してください。
-
お好みのパッケージマネージャを使用して、[
@astrojs/deno
アダプター][Deno adapter]をプロジェクトの依存関係にインストールします。npmを使用している、またはよくわからない場合は、ターミナルで以下のコマンドを実行してください。 -
プロジェクトの設定ファイル
astro.config.mjs
を以下のように変更します。次に、
package.json
のpreview
スクリプトを以下のように変更します。以上により、次のコマンドでDenoを使って本番のAstroサイトをローカルでプレビューできるようになりました。
デプロイ方法
セクションタイトル: デプロイ方法GitHub Actions、またはDeno DeployのCLI(コマンドラインインターフェイス)を使用して、Deno Deployにデプロイできます。
GitHub Actionsのデプロイメント
セクションタイトル: GitHub ActionsのデプロイメントプロジェクトがGitHubに保存されている場合は、Deno Deployのウェブサイトに従って、AstroサイトをデプロイするようにGitHub Actionsを設定できます。
-
公開または非公開のGitHubリポジトリにコードをプッシュします。
-
GitHubアカウントでDeno Deployにサインインし、New Projectをクリックします。
-
リポジトリとデプロイしたいブランチを選択し、GitHub Actionモードを選択します。(Astroサイトではビルドステップが必要なため、自動モードは使用できません。)
-
Astroプロジェクトで、
.github/workflows/deploy.yml
に新しいファイルを作成し、以下のYAMLを貼り付けます。これはDeno Deployが提供するYAMLと似ていますが、Astroサイトに必要なステップが追加されています。 -
このYAMLファイルをコミットし、GitHub上の設定したdeployブランチにプッシュすると、自動的にデプロイが始まるはずです!
GitHubリポジトリページの「Actions」タブ、またはDeno Deployで進捗を確認できます。
CLIデプロイメント
セクションタイトル: CLIデプロイメント-
Deno Deploy CLIをインストールします。
-
Astroビルドステップを実行します。
-
deployctl
を実行してデプロイします!以下のコマンドでは、
<ACCESS-TOKEN>
をPersonal Access Tokenに、<MY-DENO-PROJECT>
をDeno Deployのプロジェクト名に置き換えてください。Deno Deployですべてのデプロイを追跡できます。
1.(オプション)ビルドとデプロイを1つのコマンドにまとめるには、package.json
にdeploy-deno
スクリプトを追加します。
その後、このコマンドを使用して、ワンステップでAstroサイトをビルドし、デプロイすることができます。
📚 AstroにおけるSSRについてもっと読む。