Nesta página, explicamos como implantar aplicativos no Firebase usando o Cloud Build. Se você não estiver familiarizado com o Cloud Build, leia os guias de início rápido e a visão geral da configuração de build primeiro.
Antes de começar
-
Enable the Cloud Build, Firebase, and Resource Manager APIs.
Para executar os comandos
gcloud
nesta página, instale a Google Cloud CLI.Mantenha o código-fonte do seu aplicativo, incluindo
firebase.json
, à mão. O código-fonte precisa ser armazenado em um repositório, como Cloud Source Repositories, GitHub ou Bitbucket.Se você ainda não tiver um projeto para implantar no Firebase, poderá criar um projeto padrão instalando e inicializando o Firebase.
Permissões do IAM obrigatórias
Abra a página do IAM no console Google Cloud :
Selecione o projeto e clique em Abrir.
Na tabela de permissões, localize o e-mail da conta de serviço que você está usando para o build e clique no ícone de lápis.
Adicione os papéis
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 Salvar.
Como usar a imagem do Docker firebase
O Cloud Build oferece uma imagem do builder que pode ser usada para invocar
comandos firebase
no Cloud Build. Para usar esse builder em um
arquivo de configuração do Cloud Build, use a etapa de build firebase
para
implantar no Firebase:
Crie um arquivo de configuração de build chamado
cloudbuild.yaml
oucloudbuild.json
, em que PROJECT_ID é o ID do projeto Google Cloud e FIREBASE_PROJECT_ID é o ID do 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" ] } ] }
É possível escolher uma versão específica de
firebase-tools
usando
name: "us-docker.pkg.dev/firebase-cli/us/firebase":x.y.z
Inicie o build usando o arquivo de configuração do build:
gcloud builds submit --region=REGION --config CONFIG_FILE_PATH SOURCE_DIRECTORY
Em que:
- REGION é uma das regiões de build com suporte.
- CONFIG_FILE_PATH é o caminho para o arquivo de configuração da compilação;
- SOURCE_DIRECTORY é o caminho ou o URL do código-fonte.
Implantação contínua
É possível automatizar a implantação do software no Firebase criando gatilhos do Cloud Build. É possível configurar acionadores para criar e implantar imagens sempre que você atualizar o código-fonte.
Para automatizar sua implantação no Firebase:
No repositório, adicione um arquivo de configuração de build com etapas para invocar o comando
firebase deploy
, em que PROJECT_ID é o ID do projeto Google Cloud :YAML
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 gatilho com o arquivo de configuração de build criado na etapa anterior:
Abra a página Gatilhos no console Google Cloud :
Selecione o projeto no menu suspenso do seletor de projetos na parte superior da página.
Clique em Abrir.
Clique em Criar gatilho.
Na página Criar gatilho, especifique as seguintes configurações:
Insira um nome para o gatilho.
Selecione o evento de repositório para iniciar o gatilho.
Selecione o repositório que contém o código-fonte e o arquivo de configuração de build.
Especifique o regex do nome da ramificação ou da tag que iniciará o gatilho.
Configuração: escolha o arquivo de configuração do build que você criou anteriormente.
Clique em Criar para salvar o gatilho de compilação.
Sempre que enviar um novo código para seu repositório, você iniciará automaticamente um build e uma implantação no Firebase.
Para mais informações sobre como criar gatilhos do Cloud Build, consulte Como criar e gerenciar gatilhos de build.
Exemplo de código
Para conferir um exemplo de código para implantação no Firebase usando o Cloud Build, acesse deploy-firebase-example.
A seguir
- Saiba como realizar implantações azul-verde no Compute Engine.
- Saiba como implantar no Cloud Run.
- Saiba como implantar no GKE.
- Saiba como implantar no Cloud Run functions.
- Saiba como implantar no App Engine.
- Saiba como resolver erros de build.