コンテンツにスキップ

AstroサイトをGoogle Cloudにデプロイする

フル機能のWebアプリホスティングプラットフォームGoogle Cloudで、Astroサイトをデプロイできます。

  1. 新しいGCPのプロジェクトを作成、または既存のプロジェクトを選択します。

  2. Cloud Storageで新しいバケットを作成します。

  3. バケットに名前を付け、その他必要な設定を行います。

  4. distフォルダをバケットにアップロードするか、Cloud Buildを使用してアップロードします。

  5. 新しくStorage オブジェクト閲覧者という権限をallUsersに追加して、公開アクセスを有効にします。

  6. Webサイトの設定を編集し、エントリポイントとしてìndex.htmlを、エラーページとして404.htmlを追加します。

Cloud Runはインフラストラクチャを管理せずにコンテナを実行できるサーバーレスプラットフォームです。 静的サイトとSSRサイトの両方のデプロイに使用できます。

  1. 新しいGCPのプロジェクトを作成、または既存のプロジェクトを選択します。

  2. Cloud Run APIが有効になっていることを確認してください。

  3. 新しいサービスを作成します。

AstroのサイトをCloud Runにデプロイする前に、コンテナのビルドに使用されるDockerfileを作成する必要があります。AstroでDockerを使用する方法の詳細はレシピセクションをご覧ください。

Dockerfileが作成されたら、イメージをビルドしてGoogle Cloudにプッシュします。これを実現するには、いくつかの方法があります:

Dockerを使用してローカルでビルドする:

docker buildコマンドを使用してイメージをビルドし、docker tagでタグを付け、docker pushでレジストリにプッシュします。Google Cloud の場合、Artifact Registryが最も簡単なオプションですが、Docker Hubを使用することもできます。

ターミナルウィンドウ
# コンテナをビルドします
docker build .
docker tag SOURCE_IMAGE HOSTNAME/PROJECT-ID/TARGET-IMAGE:TAG
# イメージをレジストリにプッシュします
docker push HOSTNAME/PROJECT-ID/IMAGE:TAG

プロジェクトに合わせて、上記のコマンド内の次の値を変更します。

  • SOURCE_IMAGE: ローカルイメージ名またはイメージID。
  • HOSTNAME: レジストリのホスト(gcr.io, eu.gcr.io, asia.gcr.io, us.gcr.io)。
  • PROJECT: Google CloudのプロジェクトID。
  • TARGET-IMAGE: レジストリに保存された時のイメージ名。
  • TAGはイメージに関連付けられたバージョンです。

詳細はGoogle Cloudのドキュメントをご覧ください。

他のツールを使用する:

GitHub Actionsのような、DockerをサポートするCI/CDツールを使用できます。

Cloud Buildを使用してビルドする:

Dockerfileをローカルでビルドする代わりに、イメージをリモートでビルドするようにGoogle Cloudに指示できます。Google Cloud Buildのドキュメントを参照してください。

デプロイはgcloudを使用してターミナルで手動で行うことも、Cloud Buildやその他のCI/CDシステムを使用して自動的に行うこともできます。

その他のデプロイガイド

貢献する

どんなことを?

GitHub Issueを作成

チームに素早く問題を報告できます。

コミュニティ