Saltearse al contenido

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.

  1. Crea un nuevo proyecto GCP, o selecciona uno que ya tengas.

  2. Crea un nuevo bucket dentro de Cloud Storage.

  3. Asígnale un nombre y completa otros ajustes requeridos.

  4. Sube tu directorio dist en él o súbelo usando Cloud Build.

  5. Habilita el acceso público añadiendo un nuevo permiso a allUsers llamado Storage Object Viewer.

  6. Edita la configuración de sitio y agrega el ìndex.html como punto de entrada y el 404.html como página de error.

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.

  1. Crea un nuevo proyecto GCP, o selecciona uno que ya tengas.

  2. Asegúrate de que la API de Cloud Run esté habilitada.

  3. Crea un nuevo servicio.

Crea un Dockerfile y Compila el Contenedor

Sección titulada Crea un Dockerfile y Compila el Contenedor

Antes 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.

Ventana de terminal
# compila tu contenedor
docker build .
docker tag SOURCE_IMAGE HOSTNAME/PROJECT-ID/TARGET-IMAGE:TAG
# Empuja tu imagen a un registro
docker push HOSTNAME/PROJECT-ID/IMAGE:TAG

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í.

El despliegue puede ser manejado manualmente en tu terminal usando gcloud o automáticamente usando Cloud Build o cualquier otro sistema de CI/CD.

Más guías de implementación