Esta página explica como implementar aplicações no Firebase através do Cloud Build. Se for um utilizador recente do Cloud Build, leia os inícios rápidos e a vista geral da configuração de compilação primeiro.
Antes de começar
-
Enable the Cloud Build, Firebase, and Resource Manager APIs.
Para executar os comandos
gcloud
nesta página, instale a CLI do Google Cloud.Tenha o código-fonte da aplicação, incluindo
firebase.json
, à mão. O código fonte tem de estar armazenado num repositório, como os Cloud Source Repositories, o GitHub ou o Bitbucket.Se ainda não tiver um projeto para implementar no Firebase, pode criar um projeto predefinido instalando e inicializando o Firebase.
Autorizações de IAM necessárias
Abra a página IAM na Google Cloud consola:
Selecione o projeto e clique em Abrir.
Na tabela de autorizações, localize o email da conta de serviço que está a usar para a compilação e clique no ícone de lápis.
Adicione as funções
Cloud Build Service Account
(roles/cloudbuild.builds.builder
),Firebase Admin
(roles/firebase.admin
) eAPI Keys Admin
(roles/serviceusage.apiKeysAdmin
) à conta de serviço.Clique em Guardar.
Usar a imagem do Docker firebase
O Cloud Build fornece uma imagem de compilador que pode usar para invocar comandos firebase
no Cloud Build. Para usar este criador num ficheiro de configuração do Cloud Build, pode usar o passo de compilação firebase
para implementar no Firebase:
Crie um ficheiro de configuração de compilação com o nome
cloudbuild.yaml
oucloudbuild.json
, em que PROJECT_ID é o ID do seu Google Cloud projeto e FIREBASE_PROJECT_ID é o ID do seu projeto do Firebase:YAML
steps: - name: "us-docker.pkg.dev/firebase-cli/us/firebase" args: ['deploy', '--project=FIREBASE_PROJECT_ID', '--only=hosting'] ## Or, target a specific version of firebase-tools - name: "us-docker.pkg.dev/firebase-cli/us/firebase":x.y.z args: ['deploy', '--project=FIREBASE_PROJECT_ID', '--only=hosting']
JSON
{ "steps": [ { "name": "us-docker.pkg.dev/firebase-cli/us/firebase", "args": [ "deploy", "--project", "FIREBASE_PROJECT_ID", "--only", "hosting" ] } ] }
Pode escolher uma versão específica do
firebase-tools
usando
name: "us-docker.pkg.dev/firebase-cli/us/firebase":x.y.z
Inicie a compilação com o ficheiro de configuração de compilação:
gcloud builds submit --region=REGION --config CONFIG_FILE_PATH SOURCE_DIRECTORY
Onde:
- REGION é uma das regiões de compilação suportadas.
- CONFIG_FILE_PATH é o caminho para o ficheiro de configuração de compilação.
- SOURCE_DIRECTORY é o caminho ou o URL para o código-fonte.
Implementação contínua
Pode automatizar a implementação do seu software no Firebase através da criação de acionadores do Cloud Build. Pode configurar acionadores para criar e implementar imagens sempre que atualizar o código fonte.
Para automatizar a implementação no Firebase:
No seu repositório, adicione um ficheiro de configuração de compilação com passos para invocar o comando
firebase deploy
, em que PROJECT_ID é o ID do seu projeto: Google CloudYAML
steps: - name: us-docker.pkg.dev/firebase-cli/us/firebase args: ['deploy', '--project=PROJECT_ID', '--only=hosting']
JSON
{ "steps": [ { "name": "us-docker.pkg.dev/firebase-cli/us/firebase", "args": [ "deploy", "--project", "PROJECT_ID", "--only", "hosting" ] } ] }
Crie um acionador com o ficheiro de configuração de compilação criado no passo anterior:
Abra a página Acionadores na Google Cloud consola:
Selecione o seu projeto no menu pendente do seletor de projetos na parte superior da página.
Clique em Abrir.
Clique em Criar acionador.
Na página Criar acionador, introduza as seguintes definições:
Introduza um nome para o acionador.
Selecione o evento do repositório para iniciar o acionador.
Selecione o repositório que contém o código fonte e o ficheiro de configuração de compilação.
Especifique a regex para o nome da ramificação ou da etiqueta que vai iniciar o acionador.
Configuração: escolha o ficheiro de configuração de compilação que criou anteriormente.
Clique em Criar para guardar o acionador de compilação.
Sempre que envia novo código para o repositório, inicia automaticamente uma compilação e uma implementação no Firebase.
Para mais informações sobre como criar acionadores do Cloud Build, consulte o artigo Criar e gerir acionadores de compilação.
Exemplo de código
Para ver um exemplo de código para implementação no Firebase através do Cloud Build, aceda a deploy-firebase-example.
O que se segue?
- Saiba como fazer implementações azul/verde no Compute Engine
- Saiba como implementar no Cloud Run
- Saiba como implementar no GKE
- Saiba como implementar em funções do Cloud Run
- Saiba como implementar no App Engine
- Saiba como resolver problemas de erros de compilação