Despliega tu proyecto de Astro en Google Cloud
Google Cloud es una plataforma integral de alojamiento, que puede ser usada para desplegar un proyecto de Astro.
Cómo desplegar
Sección titulada Cómo desplegarCloud Storage (solo estático)
Sección titulada Cloud Storage (solo estático)-
Crea un nuevo proyecto GCP, o selecciona uno que ya tengas.
-
Crea un nuevo bucket dentro de Cloud Storage.
-
Asígnale un nombre y completa otros ajustes requeridos.
-
Sube tu directorio
dist
en él o súbelo usando Cloud Build. -
Habilita el acceso público añadiendo un nuevo permiso a
allUsers
llamadoStorage Object Viewer
. -
Edita la configuración de sitio y agrega el
ìndex.html
como punto de entrada y el404.html
como página de error.
Cloud Run (SSR y estático)
Sección titulada Cloud Run (SSR y estático)Cloud Run es una plataforma sin servidor que te permite ejecutar un contenedor sin tener que administrar ninguna infraestructura. Puede ser usada para desplegar sitios estáticos y SSR.
Prepara el servicio
Sección titulada Prepara el servicio-
Crea un nuevo proyecto GCP, o selecciona uno que ya tengas.
-
Asegúrate de que la API de Cloud Run esté habilitada.
-
Crea un nuevo servicio.
Crea un Dockerfile y Compila el Contenedor
Sección titulada Crea un Dockerfile y Compila el ContenedorAntes de que puedas desplegar tu sitio de Astro en Cloud Run, necesitas crear un Dockerfile que se usará para construir el contenedor. Encuentra más información sobre cómo usar Docker con Astro en nuestra sección de recetas.
Una vez que el Dockerfile está creado, compílalo en una imagen y súbelo a Google Cloud. Hay varias formas de lograrlo:
Compila localmente usando Docker:
Usa el comando docker build
para compilar la imagen, docker tag
para darle una etiqueta, y docker push
para subirla a un registro. En el caso de Google Cloud, Google Cloud Registry
es la opción más fácil, pero también puedes usar Docker Hub.
Cambia los valores siguientes 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
).PROJECT
: el ID de tu proyecto de Google Cloud.TARGET-IMAGE
: el nombre para la imagen cuando se almacena en el registro.TAG
es la versión asociada con la imagen.
Lee más en la documentación de Google Cloud.
Usando otra herramienta:
Puedes usar una herramienta de CI/CD que soporte Docker, como GitHub Actions.
Compilar usando Cloud Build:
En vez de compilar el Dockerfile localmente, puedes instruir a Google Cloud a compilar la imagen de forma remota. Consulta la documentación de Google Cloud Build aquí.
Desplegando el contenedor
Sección titulada Desplegando el contenedorEl despliegue puede ser manejado manualmente en tu terminal usando gcloud
o automáticamente usando Cloud Build o cualquier otro sistema de CI/CD.
¡No olvides agregar el permiso Cloud Run Invoker
al grupo allUsers
en la configuración de permisos de Cloud Run!