Veröffentliche deine Astro-Website auf Google Cloud
Google Cloud ist eine voll ausgestattete Web-App-Hosting-Plattform, die für die Veröffentlichung einer Astro-Website verwendet werden kann.
So funktioniert die Veröffentlichung
Abschnitt betitelt So funktioniert die VeröffentlichungCloud Storage (nur statisch)
Abschnitt betitelt Cloud Storage (nur statisch)-
Erstelle ein neues GCP-Projekt oder wähle ein bereits vorhandenes Projekt aus.
-
Erstelle einen neuen Bucket unter Cloud Storage.
-
Gib ihm einen Namen und nimm alle anderen erforderlichen Einstellungen vor.
-
Lade deinen
dist
-Ordner entweder manuell oder unter Verwendung von Cloud Build hoch. -
Aktiviere den öffentlichen Zugriff, indem du
allUsers
eine neue Berechtigung namensStorage Object Viewer
hinzufügst. -
Bearbeite die Website-Konfiguration und füge
ìndex.html
als Einstiegspunkt und404.html
als Fehlerseite hinzu.
Cloud Run (SSR und statisch)
Abschnitt betitelt Cloud Run (SSR und statisch)Cloud Run ist eine serverlose Plattform, die es dir ermöglicht, einen Container zu betreiben, ohne dass du eine Infrastruktur verwalten musst. Sie kann sowohl für statische als auch für SSR-Websites genutzt werden.
Bereite den Dienst vor
Abschnitt betitelt Bereite den Dienst vor-
Erstelle ein neues GCP-Projekt oder wähle ein bereits vorhandenes Projekt aus.
-
Stelle sicher, dass die Cloud Run API aktiviert ist.
-
Erstelle einen neuen Dienst.
Dockerfile erstellen & Container erzeugen
Abschnitt betitelt Dockerfile erstellen & Container erzeugenBevor du deine Astro-Website in Cloud Run veröffentlichen kannst, musst du ein Dockerfile erstellen, mit dem du den Container erzeugen kannst. Weitere Informationen über wie du Docker mit Astro verwendest (EN) findest du in unseren Beispielen.
Sobald das Dockerfile erstellt ist, erstellst du ein Image und überträgst es zu Google Cloud. Es gibt mehrere Möglichkeiten, dies zu tun:
Lokale Erzeugung mit Docker:
Verwende den Befehl docker build
, um das Image zu erstellen, docker tag
, um ihm ein Tag zu geben, und dann docker push
, um es in eine Registry zu pushen. Im Fall von Google Cloud ist [Artifact Registry
] (https://cloud.google.com/artifact-registry/docs/docker/pushing-and-pulling) die einfachste Option, aber du kannst auch Docker Hub verwenden.
Ändere die folgenden Werte in den obigen Befehlen, damit sie zu deinem Projekt passen:
SOURCE_IMAGE
: der lokale Imagename oder die Image-ID.HOSTNAME
: der Registry-Host (gcr.io
,eu.gcr.io
,asia.gcr.io
,us.gcr.io
,docker.io
).PROJECT
: deine Google Cloud Projekt-ID.TARGET-IMAGE
: Der Name für das Image, wenn es in der Registry gespeichert wird.TAG
ist die Version, die mit dem Image verknüpft ist.
Lies mehr in der Google Cloud-Dokumentation
Ein anderes Tool verwenden:
Du kannst ein CI/CD-Tool verwenden, das Docker unterstützt, z.B. GitHub Actions.
Erzeuge mit Cloud Build:
Anstatt die Dockerdatei lokal zu erstellen, kannst du Google Cloud anweisen, das Image per Fernzugriff zu erstellen. Siehe dazu die Google Cloud Build-Dokumentation.
Den Container veröffentlichen
Abschnitt betitelt Den Container veröffentlichenDie Veröffentlichung kann manuell in deinem Terminal mit gcloud
oder automatisch mit Cloud Build oder einem anderen CI/CD-System durchgeführt werden.
Vergiss nicht, die Berechtigung Cloud Run Invoker
zur Gruppe allUsers
in den Cloud Run-Berechtigungseinstellungen hinzuzufügen!