Como implantar no Firebase

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

  • Ative as APIs Cloud Build, Firebase, and Resource Manager.

    Ative as APIs

Permissões do IAM obrigatórias

  1. Abra a página do IAM no Console do Cloud.

    Abra a página do IAM

  2. Selecione o projeto e clique em Abrir.

  3. Na tabela de permissões, localize o e-mail com o final @cloudbuild.gserviceaccount.com e clique no ícone de lápis. Esta é a conta de serviço do Cloud Build.

  4. Adicione os papéis Cloud Build Service Account, Firebase Admin e API Keys Admin.

  5. Clique em Save.

Como usar o builder de comunidade firebase

O Cloud Build fornece uma imagem do builder de comunidade do Firebase que pode ser usada para invocar comandos firebase no Cloud Build. Para usar esse builder em um arquivo de configuração de Cloud Build, primeiro é necessário criar a imagem e enviá-la para o Container Registry no projeto.

Para criar e enviar o builder de comunidade firebase:

  1. Navegue até o diretório raiz do projeto.

  2. Clone o repositório cloud-builders-community:

    git clone https://github.com/GoogleCloudPlatform/cloud-builders-community.git
    
  3. Navegue até a imagem do builder firebase:

    cd cloud-builders-community/firebase
    
  4. Envie o builder para seu projeto:

    gcloud builds submit .
    
  5. Volte para o diretório raiz do projeto:

    cd ../..
    
  6. Remova o repositório do diretório raiz:

    rm -rf cloud-builders-community/
    

Como configurar a implantação

Depois de criar o builder de comunidade firebase, use a etapa de build firebase no arquivo de configuração de build para implantar no Firebase:

  1. Crie um arquivo de configuração de versão chamado cloudbuild.yaml ou cloudbuild.json, em que project-id é o ID do projeto do Cloud:

    YAML

          steps:
          - name: gcr.io/project-id/firebase
            args: ['deploy', '--project=project-id', '--only=hosting']
    

    JSON

    {
      "steps": [
       {
          "name": "gcr.io/project-id/firebase",
          "args": [
             "deploy",
             "--project",
             "project-id",
             "--only",
             "hosting"
           ]
      }
      ]
    }
    
  2. Inicie a build usando o arquivo de configuração de build:

    gcloud builds submit --config config-file-path source-directory
    

    Em que:

    • 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 acionadores do Cloud Build. Você pode configurar acionadores para criar e implantar imagens sempre que atualizar seu código-fonte.

Para automatizar sua implantação no Firebase:

  1. No repositório, adicione um arquivo de configuração de versão com etapas para invocar o comando firebase deploy, em que project-id é o ID do projeto do Cloud:

    YAML

    steps:
          - name: gcr.io/project-id/firebase
            args: ['deploy', '--project=project-id', '--only=hosting']
    

    JSON

    {
      "steps": [
       {
          "name": "gcr.io/project-id/firebase",
          "args": [
             "deploy",
             "--project",
             "project-id",
             "--only",
             "hosting"
           ]
      }
      ]
    }
    
  2. Crie um gatilho com o arquivo de configuração de build criado na etapa anterior:

    1. Abra a página Gatilhos no Console do Google Cloud:

      Abrir a página "Gatilhos"

    2. Selecione o projeto no menu suspenso do seletor de projetos na parte superior da página.

    3. Clique em Abrir.

    4. Clique em Criar gatilho.

      Na página Criar gatilho, especifique as seguintes configurações:

      1. Insira um nome para o gatilho.

      2. Selecione o evento de repositório para iniciar o gatilho.

      3. Selecione o repositório que contém o código-fonte e o arquivo de configuração de build.

      4. Especifique o regex do nome da ramificação ou da tag que iniciará o gatilho.

      5. Configuração: escolha o arquivo de configuração da versão que você criou anteriormente.

    5. 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 ver uma amostra de código para implantação no Firebase usando o Cloud Build, acesse deploy-firebase-example.

A seguir