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 as guias de início rápido e a visão geral da configuração do Build primeiro.

Antes de começar

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

    Funções necessárias para ativar APIs

    Para ativar APIs, você precisa da permissão serviceusage.services.enable. Se você criou o projeto, provavelmente já tem essa permissão pela função Proprietário (roles/owner). Caso contrário, você pode receber essa permissão pela função Administrador de uso do serviço (roles/serviceusage.serviceUsageAdmin). Saiba como conceder funções.

    Ativar as APIs

  • Para executar os gcloud comandos 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

  1. No Google Cloud console, acesse a página Permissões do Cloud Build:

    Acessar Permissões

  2. Selecione a conta de serviço do build.

  3. Defina o status das seguintes funções como Ativado:

    • Conta de serviço do Cloud Build | Permite que a conta de serviço legada do Cloud Build atualize builds, grave registros de build e armazene artefatos de build.
    • Administrador do Firebase | Permite que o Cloud Build acesse o Firebase.
    • Visualizador de chaves de API | Permite que o Cloud Build acesse a configuração atual do Firebase Hosting durante a implantação do build.

Como usar a imagem Docker firebase

O Cloud Build fornece 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:

  1. Crie um arquivo de configuração de build chamado cloudbuild.yaml ou cloudbuild.json em que PROJECT_ID é o Google Cloud ID do projeto 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 do firebase-tools usando
    name: "us-docker.pkg.dev/firebase-cli/us/firebase":x.y.z

  2. 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 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 build com etapas para invocar o firebase deploy comando, em que PROJECT_ID é o Google Cloud ID do projeto:

    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"
           ]
      }
      ]
    }
    
  2. Crie um gatilho com o arquivo de configuração de build criado na etapa anterior:

    1. Abra a página Acionadores no Google Cloud console:

      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 do build 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 um exemplo de código para implantação no Firebase usando o Cloud Build, acesse deploy-firebase-example.

A seguir