Pular para o conteúdo

Faça deploy do seu Site Astro no Google Cloud

Google Cloud é uma plataforma de hospedagem de aplicativos web completa que pode ser usada para fazer deploy do seu site Astro.

  1. Crie um novo projeto GCP, ou selecione um que você já tenha.

  2. Crie um novo bucket em Cloud Storage.

  3. Dê um nome e outras configurações necessárias.

  4. Faça upload de sua pasta dist para ele ou faça upload usando o Cloud Build.

  5. Habilite o acesso público adicionando uma nova permissão, chamada Storage Object Viewer, ao allUsers.

  6. Edite a configuração do site e adicione ìndex.html como entrypoint e 404.html como página de erro.

Cloud Run é uma plataforma serverless que permite você executar um container sem ter que gerenciar nenhuma infraestrutura. Ele pode ser usado para fazer deploy tanto de sites estáticos como de sites SSR.

  1. Crie um novo projeto GCP, ou selecione um que você já tenha.

  2. Confira que o Cloud Run API está habilitado.

  3. Crie um novo serviço.

Antes de vocês poder fazer deploy do seu site com Astro para o Cloud Run, você precisa criar um Dockerfile que vai ser usado para construir o container. Veja mais informações sobre como usar Docker com Astro em nossa seção de receitas.

Com o Dockerfile criado, faça sua build dele para uma imagem e o push para o Google Cloud. Existem algumas formas de conseguir isso:

Faça a build localmente usando Docker:

Use o comando docker build para fazer a build da imagem, docker tag para dar uma etiqueta a ela, e então docker push para colocá-la em um registro. No caso do Google Cloud, o Google Cloud Registry é a opção mais fácil, mas você também pode usar o Docker Hub.

Terminal window
# faz a build do seu container
docker build .
docker tag SOURCE_IMAGE HOSTNAME/PROJECT-ID/TARGET-IMAGE:TAG
# Coloca sua imagem em um registro
docker push HOSTNAME/PROJECT-ID/IMAGE:TAG

Mude os seguintes valores nos comandos acima para condizer com seu projeto:

  • SOURCE_IMAGE: o nome ou ID da imagem local.
  • HOSTNAME: a hospedagem do registro (gcr.io, eu.gcr.io, asia.gcr.io, us.gcr.io).
  • PROJECT: o ID do seu projeto do Google Cloud.
  • TARGET-IMAGE: o nome que a imagem terá ao ser armazenada no registro.
  • TAG é a versão associada com a imagem.

Leia mais na documentação do Google Cloud.

Usando outra ferramenta:

Você pode usar uma ferramenta de CI/CD que suporte Docker, como o GitHub Actions.

Faça a build usando Cloud Build:

Ao invés de fazer a build do Dockerfile localmente, você pode instruir o Google Cloud para fazer a build da imagem remotamente. Veja a documentação de Build do Google Cloud aqui.

O deploy pode ser lidado manualmente no seu terminal usando gcloud ou automaticamente usando Cloud Build ou qualquer outro sistema de CI/CD.

Mais Guias de Deploy