Despliega tu sitio 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 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.
-
Asígnale un nombre y ajusta las otras configuraciones requeridas.
-
Sube tu carpeta
distallí o súbela usando Cloud Build. -
Habilita el acceso público agregando un nuevo permiso a
allUsersllamadoStorage Object Viewer. -
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 tanto sitios estáticos como SSR.
Prepara el Servicio
Sección titulada «Prepara 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.
Crea el Dockerfile y Construye el Contenedor
Sección titulada «Crea el Dockerfile y Construye el Contenedor»Antes de que puedas desplegar tu sitio Astro en Cloud Run, necesitas crear un Dockerfile que se utilizará para construir el contenedor. Encuentra más información sobre cómo usar Docker con Astro (EN) en nuestra sección de recetas.
Una vez que el Dockerfile esté creado, constrúyelo como una imagen y súbela a Google Cloud. Hay algunas formas de lograr esto:
Construir localmente usando Docker:
Usa el comando docker build para construir la imagen, docker tag para asignarle una etiqueta, y 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.
# construye tu contenedordocker build .
docker tag SOURCE_IMAGE HOSTNAME/PROJECT-ID/TARGET-IMAGE:TAG
# Sube tu imagen a un registrodocker 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: el ID de tu proyecto de Google Cloud.TARGET-IMAGE: el nombre de la imagen cuando se almacena en el registro.TAGes 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.
Construir usando Cloud Build:
En lugar de construir el Dockerfile localmente, puedes indicarle a Google Cloud que construya 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 manejar 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!