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.
Como fazer o deploy
Seção intitulada Como fazer o deployCloud Storage (somente estático)
Seção intitulada Cloud Storage (somente estático)-
Crie um novo projeto GCP, ou selecione um que você já tenha.
-
Crie um novo bucket em Cloud Storage.
-
Dê um nome e outras configurações necessárias.
-
Faça upload de sua pasta
dist
para ele ou faça upload usando o Cloud Build. -
Habilite o acesso público adicionando uma nova permissão, chamada
Storage Object Viewer
, aoallUsers
. -
Edite a configuração do site e adicione
ìndex.html
como entrypoint e404.html
como página de erro.
Cloud Run (SSR e estático)
Seção intitulada Cloud Run (SSR e estático)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.
Prepare o Serviço
Seção intitulada Prepare o Serviço-
Crie um novo projeto GCP, ou selecione um que você já tenha.
-
Confira que o Cloud Run API está habilitado.
-
Crie um novo serviço.
Crie um DockerFile & Construa o Container
Seção intitulada Crie um DockerFile & Construa o ContainerAntes 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 (EN) 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.
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.
Fazendo deploy do container
Seção intitulada Fazendo deploy do containerO deploy pode ser lidado manualmente no seu terminal usando gcloud
ou automaticamente usando Cloud Build ou qualquer outro sistema de CI/CD.
Não se esqueça de adicionar a permissão Cloud Run Invoker
para o grupo allUsers
nas configurações de permissão do Cloud Run!