Despliega tu sitio de Astro en Google Cloud
Google Cloud es una plataforma de alojamiento de aplicaciones web con todas las funciones que se puede utilizar para desplegar un sitio de Astro.
Cómo desplegar
Sección titulada “Cómo desplegar”Cloud Storage (solo estático)
Sección titulada “Cloud Storage (solo estático)”-
Crea un nuevo proyecto de GCP, o selecciona uno que ya tengas.
-
Crea un nuevo bucket en Cloud Storage.
-
Dale un nombre y el resto de configuraciones requeridas.
-
Sube tu carpeta
disten él o súbela utilizando Cloud Build. -
Habilita el acceso público agregando un nuevo permiso a
allUsersllamadoStorage Object Viewer(Lector de objetos de almacenamiento). -
Edita la configuración del sitio web y agrega
index.htmlcomo punto de entrada y404.htmlcomo página de error.
Cloud Run (SSR y estático)
Sección titulada “Cloud Run (SSR y estático)”Cloud Run es una plataforma serverless que te permite ejecutar un contenedor sin tener que gestionar ninguna infraestructura. Se puede utilizar para desplegar sitios tanto estáticos como SSR.
Preparar el servicio
Sección titulada “Preparar el servicio”-
Crea un nuevo proyecto de GCP, o selecciona uno que ya tengas.
-
Asegúrate de que la API de Cloud Run esté habilitada.
-
Crea un nuevo servicio.
Crear Dockerfile y compilar el contenedor
Sección titulada “Crear Dockerfile y compilar el contenedor”Antes de poder desplegar tu sitio de Astro en Cloud Run, debes crear un Dockerfile que se utilizará para compilar el contenedor. Encuentra más información sobre cómo usar Docker con Astro en nuestra sección de recetas.
Una vez creado el Dockerfile, compílalo en una imagen y súbela a Google Cloud. Hay algunas formas de lograr esto:
Build locally using Docker:
Utiliza el comando docker build para compilar la imagen, docker tag para darle una etiqueta, luego docker push para subirla a un registro. En el caso de Google Cloud, Artifact Registry es la opción más sencilla, pero también puedes usar Docker Hub.
# build your containerdocker build .
docker tag SOURCE_IMAGE HOSTNAME/PROJECT-ID/TARGET-IMAGE:TAG
# Push your image to a registrydocker push HOSTNAME/PROJECT-ID/IMAGE:TAGCambia los siguientes valores en los comandos anteriores para que coincidan con tu proyecto:
SOURCE_IMAGE: el nombre de la imagen local o el ID de la imagen.HOSTNAME: el host del registro (gcr.io,eu.gcr.io,asia.gcr.io,us.gcr.io,docker.io).PROJECT: tu ID de proyecto de Google Cloud.TARGET-IMAGE: el nombre de la imagen cuando se almacena en el registro.TAGes la versión asociada a la imagen.
Lee más en la documentación de Google Cloud.
Using another tool:
Puedes utilizar una herramienta de CI/CD que admita Docker, como GitHub Actions.
Build using Cloud Build:
En lugar de compilar el Dockerfile localmente, puedes indicarle a Google Cloud que compile la imagen de forma remota. Consulta la documentación de Google Cloud Build aquí.
Desplegar el contenedor
Sección titulada “Desplegar el contenedor”El despliegue se puede gestionar manualmente en tu terminal utilizando gcloud o automáticamente utilizando Cloud Build o cualquier otro sistema de CI/CD.
¡No olvides agregar el permiso Cloud Run Invoker (Invocador de Cloud Run) al grupo allUsers en la configuración de permisos de Cloud Run!