Referência da CLI do Firebase

A CLI do Firebase ( GitHub ) fornece diversas ferramentas para gerenciar, visualizar e implantar em projetos do Firebase.

Antes de usar a CLI do Firebase, configure um projeto do Firebase .

Configurar ou atualizar a CLI

Instale a CLI do Firebase

Você pode instalar a CLI do Firebase usando um método que corresponda ao seu sistema operacional, nível de experiência e/ou caso de uso. Independentemente de como você instala a CLI, você tem acesso à mesma funcionalidade e ao comando firebase .

Windows macOS Linux

janelas

Você pode instalar a CLI do Firebase para Windows usando uma das seguintes opções:

Opção Descrição Recomendado para...
binário autônomo Baixe o binário independente para a CLI. Em seguida, você pode acessar o executável para abrir um shell onde poderá executar o comando firebase . Novos desenvolvedores

Desenvolvedores que não usam ou não estão familiarizados com o Node.js
npm Use npm (o Node Package Manager) para instalar a CLI e ativar o comando firebase disponível globalmente. Desenvolvedores usando Node.js

binário autônomo

Para fazer download e executar o binário para a CLI do Firebase, siga estas etapas:

  1. Faça download do binário Firebase CLI para Windows .

  2. Acesse o binário para abrir um shell onde você pode executar o comando firebase .

  3. Continue fazendo login e testando a CLI .

npm

Para usar npm (o Node Package Manager) para instalar o Firebase CLI, siga estas etapas:

  1. Instale o Node.js usando nvm-windows (o Node Version Manager). A instalação do Node.js instala automaticamente as ferramentas de comando npm .

  2. Instale a Firebase CLI via npm executando o seguinte comando:

    npm install -g firebase-tools

    Este comando ativa o comando firebase disponível globalmente.

  3. Continue fazendo login e testando a CLI .

macOS ou Linux

Você pode instalar a CLI do Firebase para macOS ou Linux usando uma das seguintes opções:

Opção Descrição Recomendado para...
script de instalação automática Execute um único comando que detecte automaticamente seu sistema operacional, baixe a versão mais recente da CLI e ative o comando firebase disponível globalmente. Novos desenvolvedores

Desenvolvedores que não usam ou não estão familiarizados com o Node.js

Implantações automatizadas em um ambiente CI/CD
binário autônomo Baixe o binário independente para a CLI. Em seguida, você pode configurar e executar o binário para se adequar ao seu fluxo de trabalho. Fluxos de trabalho totalmente personalizáveis ​​usando a CLI
npm Use npm (o Node Package Manager) para instalar a CLI e ativar o comando firebase disponível globalmente. Desenvolvedores usando Node.js

script de instalação automática

Para instalar a CLI do Firebase usando o script de instalação automática, siga estas etapas:

  1. Execute o seguinte comando cURL:

    curl -sL https://firebase.tools | bash

    Este script detecta automaticamente seu sistema operacional, faz download da versão mais recente da CLI do Firebase e ativa o comando firebase disponível globalmente.

  2. Continue fazendo login e testando a CLI .

Para obter mais exemplos e detalhes sobre o script de instalação automática, consulte o código-fonte do script em firebase.tools .

binário autônomo

Para fazer download e executar o binário da CLI do Firebase específico para seu sistema operacional, siga estas etapas:

  1. Faça download do binário Firebase CLI para seu sistema operacional: macOS | Linux

  2. (Opcional) Configure o comando firebase disponível globalmente.

    1. Torne o binário executável executando chmod +x ./firebase_tools .
    2. Adicione o caminho do binário ao seu PATH.
  3. Continue fazendo login e testando a CLI .

npm

Para usar npm (o Node Package Manager) para instalar o Firebase CLI, siga estas etapas:

  1. Instale o Node.js usando nvm (o Node Version Manager).
    A instalação do Node.js instala automaticamente as ferramentas de comando npm .

  2. Instale a Firebase CLI via npm executando o seguinte comando:

    npm install -g firebase-tools

    Este comando ativa o comando firebase disponível globalmente.

  3. Continue fazendo login e testando a CLI .

Faça login e teste a CLI do Firebase

Depois de instalar a CLI, você deve autenticar. Depois, você pode confirmar a autenticação listando seus projetos do Firebase.

  1. Faça login no Firebase usando sua conta do Google executando o seguinte comando:

    firebase login

    Este comando conecta sua máquina local ao Firebase e concede acesso aos seus projetos do Firebase.

  2. Teste se a CLI está instalada corretamente e acessando sua conta listando seus projetos do Firebase. Execute o seguinte comando:

    firebase projects:list

    A lista exibida deve ser a mesma dos projetos do Firebase listados no console do Firebase .

Atualize para a versão CLI mais recente

Geralmente, você deseja usar a versão mais atualizada do Firebase CLI.

A forma como você atualiza a versão da CLI depende do seu sistema operacional e de como você instalou a CLI.

janelas

  • binário autônomo : baixe a nova versão e substitua-a em seu sistema
  • npm : Execute npm install -g firebase-tools

Mac OS

  • script de instalação automática : Execute curl -sL https://firebase.tools | upgrade=true bash
  • binário autônomo : baixe a nova versão e substitua-a em seu sistema
  • npm : Execute npm install -g firebase-tools

Linux

  • script de instalação automática : Execute curl -sL https://firebase.tools | upgrade=true bash
  • binário autônomo : baixe a nova versão e substitua-a em seu sistema
  • npm : Execute npm install -g firebase-tools

Use a CLI com sistemas CI

A CLI do Firebase requer um navegador para concluir a autenticação, mas a CLI é totalmente compatível com CI e outros ambientes headless.

  1. Em uma máquina com navegador, instale a CLI do Firebase .

  2. Inicie o processo de login executando o seguinte comando:

    firebase login:ci
  3. Visite o URL fornecido e faça login usando uma conta do Google.

  4. Imprima um novo token de atualização . A sessão CLI atual não será afetada.

  5. Armazene o token de saída de forma segura, mas acessível em seu sistema de CI.

  6. Use este token ao executar comandos firebase . Você pode usar uma das duas opções a seguir:

    • Opção 1: Armazene o token como a variável de ambiente FIREBASE_TOKEN . Seu sistema usará automaticamente o token.

    • Opção 2: execute todos os comandos firebase com o sinalizador --token TOKEN em seu sistema CI.
      Esta é a ordem de precedência para carregamento de token: sinalizador, variável de ambiente, projeto desejado do Firebase.

Inicialize um projeto do Firebase

Muitas tarefas comuns executadas usando a CLI, como a implantação em um projeto do Firebase, exigem um diretório de projeto . Você estabelece um diretório de projeto usando o comando firebase init . Um diretório de projeto geralmente é o mesmo diretório que a raiz do controle de origem e, após executar firebase init , o diretório contém um arquivo de configuração firebase.json .

Para inicializar um novo projeto do Firebase, execute o seguinte comando no diretório do seu aplicativo:

firebase init

O comando firebase init orienta você na configuração do diretório do projeto e de alguns produtos do Firebase. Durante a inicialização do projeto, a CLI do Firebase solicita que você conclua as seguintes tarefas:

  • Selecione os produtos Firebase desejados para configurar em seu projeto Firebase.

    Esta etapa solicita que você defina configurações para arquivos específicos dos produtos selecionados. Para mais detalhes sobre essas configurações, consulte a documentação específica do produto (por exemplo, Hosting ). Observe que você sempre pode executar firebase init posteriormente para configurar mais produtos Firebase.

  • Selecione um projeto padrão do Firebase.

    Esta etapa associa o diretório do projeto atual a um projeto do Firebase para que comandos específicos do projeto (como firebase deploy ) sejam executados no projeto apropriado do Firebase.

    Também é possível associar vários projetos do Firebase (como um projeto de teste e um projeto de produção) ao mesmo diretório de projeto.

No final da inicialização, o Firebase cria automaticamente os dois arquivos a seguir na raiz do diretório local do seu aplicativo:

  • Um arquivo de configuração firebase.json que lista a configuração do seu projeto.

  • Um arquivo .firebaserc que armazena os aliases do seu projeto.

O arquivo firebase.json

O comando firebase init cria um arquivo de configuração firebase.json na raiz do diretório do seu projeto.

O arquivo firebase.json é necessário para implantar recursos com a CLI do Firebase porque especifica quais arquivos e configurações do diretório do projeto são implantados no projeto do Firebase. Como algumas configurações podem ser definidas no diretório do projeto ou no console do Firebase, resolva possíveis conflitos de implantação .

Você pode configurar a maioria das opções do Firebase Hosting diretamente no arquivo firebase.json . No entanto, para outros serviços do Firebase que podem ser implantados com a CLI do Firebase , o comando firebase init cria arquivos específicos onde você pode definir configurações para esses serviços, como um arquivo index.js para Cloud Functions. Você também pode configurar ganchos pré-implantados ou pós-implantados no arquivo firebase.json .

A seguir está um exemplo de arquivo firebase.json com configurações padrão se você selecionar Firebase Hosting, Cloud Firestore e Cloud Functions para Firebase (com opções de origem TypeScript e lint selecionadas) durante a inicialização.

{
  "hosting": {
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ]
  },
  "firestore": {
      "rules": "firestore.rules",
      "indexes": "firestore.indexes.json"
  },
  "functions": {
    "predeploy": [
      "npm --prefix \"$RESOURCE_DIR\" run lint",
      "npm --prefix \"$RESOURCE_DIR\" run build"
    ]
  }
}

Embora firebase.json seja usado por padrão, você pode passar o sinalizador --config PATH para especificar um arquivo de configuração alternativo.

Configuração para vários bancos de dados do Cloud Firestore

Quando você executa firebase init , seu arquivo firebase.json conterá uma única chave firestore correspondente ao banco de dados padrão do seu projeto, conforme mostrado acima.

Se o seu projeto contiver vários bancos de dados do Cloud Firestore, edite o arquivo firebase.json para associar diferentes regras de segurança do Cloud Firestore e arquivos de origem de índice de banco de dados a cada banco de dados. Modifique o arquivo com uma matriz JSON, com uma entrada para cada banco de dados.

      "firestore": [
        {
          "database": "default",
          "rules": "firestore.default.rules",
          "indexes": "firestore.default.indexes.json"
        },
        {
          "database": "ecommerce",
          "rules": "firestore.ecommerce.rules",
          "indexes": "firestore.ecommerce.indexes.json"
        }
      ],

Arquivos do Cloud Functions a serem ignorados na implantação

No momento da implementação da função, a CLI especifica automaticamente uma lista de arquivos no diretório functions a serem ignorados. Isso evita a implantação no back-end de arquivos estranhos que poderiam aumentar o tamanho dos dados da sua implantação.

A lista de arquivos ignorados por padrão, mostrada no formato JSON, é:

"ignore": [
  ".git",
  ".runtimeconfig.json",
  "firebase-debug.log",
  "firebase-debug.*.log",
  "node_modules"
]

Se você adicionar seus próprios valores personalizados para ignore em firebase.json , mantenha (ou adicione, se estiver faltando) a lista de arquivos mostrada acima.

Gerenciar aliases de projeto

Você pode associar vários projetos do Firebase ao mesmo diretório de projeto. Por exemplo, você pode querer usar um projeto do Firebase para preparação e outro para produção. Ao usar diferentes ambientes de projeto, você pode verificar as alterações antes de implantar na produção. O comando firebase use permite alternar entre aliases, bem como criar novos aliases.

Adicione um alias de projeto

Quando você seleciona um projeto do Firebase durante a inicialização do projeto , o projeto recebe automaticamente o alias default . No entanto, para permitir que comandos específicos do projeto sejam executados em um projeto diferente do Firebase, mas ainda usem o mesmo diretório do projeto, execute o seguinte comando no diretório do projeto:

firebase use --add

Este comando solicita que você selecione outro projeto do Firebase e atribua o projeto como alias. As atribuições de alias são gravadas em um arquivo .firebaserc dentro do diretório do seu projeto.

Usar aliases de projeto

Para usar aliases de projeto atribuídos do Firebase, execute qualquer um dos comandos a seguir no diretório do projeto.

Comando Descrição
firebase use Veja uma lista de aliases atualmente definidos para o diretório do seu projeto
firebase use \
PROJECT_ID|ALIAS
Direciona todos os comandos para serem executados no projeto do Firebase especificado.
A CLI usa este projeto como o "projeto ativo" atualmente.
firebase use --clear Limpa o projeto ativo.

Execute firebase use PROJECT_ID|ALIAS para definir um novo projeto ativo antes de executar outros comandos CLI.

firebase use \
--unalias PROJECT_ALIAS
Remove um alias do diretório do seu projeto.

Você pode substituir o que está sendo usado como projeto atualmente ativo, passando o sinalizador --project com qualquer comando CLI. Por exemplo: você pode configurar sua CLI para ser executada em um projeto do Firebase ao qual você atribuiu o alias staging . Se quiser executar um único comando no projeto do Firebase ao qual você atribuiu o alias prod , poderá executar, por exemplo, firebase deploy --project=prod .

Controle de origem e aliases de projeto

Em geral, você deve verificar seu arquivo .firebaserc no controle de origem para permitir que sua equipe compartilhe aliases de projeto. No entanto, para projetos de código aberto ou modelos iniciais, geralmente você não deve fazer check-in do arquivo .firebaserc .

Se você tiver um projeto de desenvolvimento apenas para seu uso, poderá passar o sinalizador --project com cada comando ou executar firebase use PROJECT_ID sem atribuir um alias ao projeto Firebase.

Veicule e teste seu projeto do Firebase localmente

Você pode visualizar e testar seu projeto do Firebase em URLs hospedados localmente antes de implantá-lo na produção. Se quiser apenas testar recursos selecionados, você pode usar uma lista separada por vírgulas em um sinalizador no comando firebase serve .

Execute o seguinte comando na raiz do diretório local do projeto se desejar executar uma das seguintes tarefas:

  • Veja o conteúdo estático do seu aplicativo hospedado no Firebase.
  • Use o Cloud Functions para gerar conteúdo dinâmico para o Firebase Hosting e você quiser usar suas funções HTTP de produção (implantadas) para emular o Hosting em um URL local.
firebase serve --only hosting

Emule seu projeto usando funções HTTP locais

Execute qualquer um dos comandos a seguir no diretório do projeto para emular seu projeto usando funções HTTP locais .

  • Para emular funções HTTP e hospedagem para testes em URLs locais, use um dos seguintes comandos:

    firebase serve
    firebase serve --only functions,hosting // uses a flag
  • Para emular apenas funções HTTP, use o seguinte comando:

    firebase serve --only functions

Teste de outros dispositivos locais

Por padrão, firebase serve responde apenas às solicitações de localhost . Isso significa que você poderá acessar o conteúdo hospedado a partir do navegador do seu computador, mas não de outros dispositivos na sua rede. Se você quiser testar em outros dispositivos locais, use o sinalizador --host , assim:

firebase serve --host 0.0.0.0  // accepts requests to any host

Implantar em um projeto do Firebase

A CLI do Firebase gerencia a implantação de código e recursos em seu projeto do Firebase, incluindo:

  • Novos lançamentos dos seus sites do Firebase Hosting
  • Cloud Functions para Firebase novas, atualizadas ou existentes
  • Regras para Firebase Realtime Database
  • Regras para armazenamento em nuvem para Firebase
  • Regras para Cloud Firestore
  • Índices para Cloud Firestore

Para implantar em um projeto do Firebase, execute o seguinte comando no diretório do projeto:

firebase deploy

Opcionalmente, você pode adicionar um comentário a cada uma de suas implantações. Este comentário será exibido com as outras informações de implantação na página do Firebase Hosting do seu projeto. Por exemplo:

firebase deploy -m "Deploying the best new feature ever."

Ao usar o comando firebase deploy , esteja ciente do seguinte:

  • Para implantar recursos de um diretório de projeto, o diretório do projeto deve ter um arquivo firebase.json . Este arquivo é criado automaticamente para você pelo comando firebase init .

  • Por padrão, firebase deploy cria uma versão para todos os recursos implantáveis ​​no diretório do seu projeto. Para implantar serviços ou recursos específicos do Firebase, use implantação parcial .

Conflitos de implantação para regras de segurança

Para Firebase Realtime Database, Cloud Storage for Firebase e Cloud Firestore, você pode definir regras de segurança no diretório local do projeto ou no console do Firebase .

Outra opção para evitar conflitos de implantação é usar a implantação parcial e definir regras apenas no Firebase Console.

Cotas de implantação

É possível (embora improvável) que você exceda uma cota que limita a taxa ou o volume das operações de implantação do Firebase. Por exemplo, ao implementar um grande número de funções, você poderá receber uma mensagem de erro HTTP 429 Quota . Para resolver esses problemas, tente usar implantação parcial .

Reverter uma implantação

Você pode reverter uma implantação do Firebase Hosting na página do Firebase Hosting do seu projeto selecionando a ação Rollback para a versão desejada.

No momento, não é possível reverter versões de regras de segurança do Firebase Realtime Database, Cloud Storage for Firebase ou Cloud Firestore.

Implantar serviços específicos do Firebase

Se quiser implantar apenas serviços ou recursos específicos do Firebase, você pode usar uma lista separada por vírgulas em um sinalizador no comando firebase deploy . Por exemplo, o comando a seguir implanta conteúdo do Firebase Hosting e regras de segurança do Cloud Storage.

firebase deploy --only hosting,storage

A tabela a seguir lista os serviços e recursos disponíveis para implantação parcial. Os nomes nos sinalizadores correspondem às chaves no arquivo de configuração firebase.json .

Sintaxe do sinalizador Serviço ou recurso implantado
--only hosting Conteúdo do Firebase Hosting
--only database Regras do Firebase Realtime Database
--only storage Regras do Cloud Storage para Firebase
--only firestore Regras e índices do Cloud Firestore para todos os bancos de dados configurados
--only functions Cloud Functions para Firebase ( versões mais específicas desta sinalização são possíveis)

Implantar funções específicas

Ao implantar funções, você pode direcionar funções específicas. Por exemplo:

firebase deploy --only functions:function1
firebase deploy --only functions:function1,functions:function2

Outra opção é agrupar funções em grupos de exportação em seu arquivo /functions/index.js . O agrupamento de funções permite implantar diversas funções usando um único comando.

Por exemplo, você pode escrever as seguintes funções para definir um groupA e um groupB :

var functions = require('firebase-functions');

exports.groupA = {
  function1: functions.https.onRequest(...),
  function2: functions.database.ref('\path').onWrite(...)
}
exports.groupB = require('./groupB');

Neste exemplo, um arquivo functions/groupB.js separado contém funções adicionais que definem especificamente as funções em groupB . Por exemplo:

var functions = require('firebase-functions');

exports.function3 = functions.storage.object().onChange(...);
exports.function4 = functions.analytics.event('in_app_purchase').onLog(...);

Neste exemplo, você pode implantar todas as funções groupA executando o seguinte comando no diretório do projeto:

firebase deploy --only functions:groupA

Ou você pode direcionar uma função específica dentro de um grupo executando o seguinte comando:

firebase deploy --only functions:groupA.function1,groupB.function4

Excluir funções

A CLI do Firebase oferece suporte aos seguintes comandos e opções para exclusão de funções implantadas anteriormente:

  • Exclui todas as funções que correspondem ao nome especificado em todas as regiões:

    firebase functions:delete FUNCTION-1_NAME

  • Exclui uma função especificada em execução em uma região não padrão:

    firebase functions:delete FUNCTION-1_NAME --region REGION_NAME

  • Exclui mais de uma função:

    firebase functions:delete FUNCTION-1_NAME FUNCTION-2_NAME

  • Exclui um grupo de funções especificado:

    firebase functions:delete GROUP_NAME

  • Ignora o prompt de confirmação:

    firebase functions:delete FUNCTION-1_NAME --force

Configurar tarefas com script pré-implantação e pós-implantação

Você pode conectar scripts de shell ao comando firebase deploy para executar tarefas de pré-implantação ou pós-implantação. Por exemplo, um script pré-implantação pode transpilar o código TypeScript em JavaScript, e um gancho pós-implantação pode notificar os administradores sobre a implantação de novos conteúdos do site no Firebase Hosting.

Para configurar ganchos pré-implantados ou pós-implantados, adicione scripts bash ao arquivo de configuração firebase.json . Você pode definir scripts breves diretamente no arquivo firebase.json ou pode fazer referência a outros arquivos que estão no diretório do seu projeto.

Por exemplo, o script a seguir é a expressão firebase.json para uma tarefa postdeploy que envia uma mensagem do Slack após a implantação bem-sucedida no Firebase Hosting.

"hosting": {
  // ...

  "postdeploy": "./messageSlack.sh 'Just deployed to Firebase Hosting'",
  "public": "public"
}

O arquivo de script messageSlack.sh reside no diretório do projeto e tem esta aparência:

curl -X POST -H 'Content-type: application/json' --data '{"text":"$1"}'
     \https://SLACK_WEBHOOK_URL

Você pode configurar ganchos predeploy e postdeploy para qualquer um dos ativos que puder implantar . Observe que a execução firebase deploy aciona todas as tarefas de pré-implantação e pós-implantação definidas no arquivo firebase.json . Para executar apenas as tarefas associadas a um serviço específico do Firebase, use comandos de implantação parcial .

Os ganchos predeploy e postdeploy imprimem a saída padrão e os fluxos de erro dos scripts no terminal. Para casos de falha, observe o seguinte:

  • Se um gancho de pré-implantação não for concluído conforme o esperado, a implantação será cancelada.
  • Se a implantação falhar por qualquer motivo, os ganchos pós-implantação não serão acionados.

Variáveis ​​ambientais

Nos scripts em execução nos ganchos pré-implantação e pós-implantação, as seguintes variáveis ​​de ambiente estão disponíveis:

  • $GCLOUD_PROJECT : ID do projeto ativo
  • $PROJECT_DIR : o diretório raiz que contém o arquivo firebase.json
  • $RESOURCE_DIR : (somente para scripts hosting e functions ) o local do diretório que contém os recursos de hospedagem ou Cloud Functions a serem implantados

Gerenciar diversas instâncias do Realtime Database

Um projeto do Firebase pode ter várias instâncias do Firebase Realtime Database . Por padrão, os comandos CLI interagem com sua instância de banco de dados padrão .

No entanto, você pode interagir com uma instância de banco de dados não padrão usando o comando --instance DATABASE_NAME . Os seguintes comandos suportam o sinalizador --instance :

  • firebase database:get
  • firebase database:profile
  • firebase database:push
  • firebase database:remove
  • firebase database:set
  • firebase database:update

Referência de comando

Comandos administrativos CLI

Comando Descrição
ajuda Exibe informações de ajuda sobre a CLI ou comandos específicos.
iniciar Associa e configura um novo projeto do Firebase no diretório atual. Este comando cria um arquivo de configuração firebase.json no diretório atual.
Conecte-se Autentica a CLI na sua conta do Firebase. Requer acesso a um navegador da web.
Para fazer login na CLI em ambientes remotos que não permitem acesso a localhost , use o --no-localhost sinalizador.
login:ci Gera um token de autenticação para uso em ambientes não interativos.
sair Desconecta a CLI da sua conta do Firebase.
abrir Abre um navegador para recursos relevantes do projeto.
projetos:lista Lista todos os projetos do Firebase aos quais você tem acesso.
usar Define o projeto Firebase ativo para a CLI.
Gerencia aliases de projetos .

Comandos de gerenciamento de projetos

Comando Descrição
Gerenciamento de projetos Firebase
projetos: addfirebase Adiciona recursos do Firebase a um projeto existente do Google Cloud.
projetos:criar Cria um novo projeto do Google Cloud e adiciona recursos do Firebase ao novo projeto.
projetos:lista Lista todos os projetos do Firebase aos quais você tem acesso.
Gerenciamento de aplicativos Firebase (iOS, Android, Web)
aplicativos:criar Cria um novo aplicativo Firebase no projeto ativo.
aplicativos: lista Lista os aplicativos do Firebase registrados no projeto ativo.
aplicativos:sdkconfig Imprime a configuração dos serviços do Google de um aplicativo Firebase.
configuração: web Descontinuada. Em vez disso, use apps:sdkconfig e especifique web como o argumento da plataforma.
Imprime a configuração dos serviços do Google de um Firebase Web App.
Gerenciamento de hashes de certificados SHA (somente Android)
aplicativos:android:sha:create \
FIREBASE_APP_ID SHA_HASH
Adiciona o hash do certificado SHA especificado ao aplicativo Firebase para Android especificado.
aplicativos:android:sha:delete \
FIREBASE_APP_ID SHA_HASH
Exclui o hash do certificado SHA especificado do aplicativo Firebase para Android especificado.
aplicativos:android:sha:list \
FIREBASE_APP_ID
Lista os hashes do certificado SHA para o aplicativo Android do Firebase especificado.

Implantação e desenvolvimento local

Esses comandos permitem implantar e interagir com seu site do Firebase Hosting.

Comando Descrição
implantar Implanta código e ativos do diretório do projeto no projeto ativo. Para o Firebase Hosting, é necessário um arquivo de configuração firebase.json .
servir Inicia um servidor da Web local com a configuração do Firebase Hosting. Para o Firebase Hosting, é necessário um arquivo de configuração firebase.json .

Comandos de distribuição de aplicativos

Comando Descrição
distribuição de aplicativos: distribuir \
--app FIREBASE_APP_ID
Disponibiliza a compilação para testadores.
distribuição de aplicativos: testadores: adicionar Adiciona testadores ao projeto.
distribuição de aplicativos: testadores: remover Remove testadores do projeto.

Comandos de autenticação (gerenciamento de usuários)

Comando Descrição
autorização:exportar Exporta as contas de usuário do projeto ativo para um arquivo JSON ou CSV. Para obter mais detalhes, consulte a página auth:import e auth:export .
autenticação: importação Importa as contas de usuário de um arquivo JSON ou CSV para o projeto ativo. Para obter mais detalhes, consulte a página auth:import e auth:export .

Comandos do Cloud Firestore

Comando Descrição
firestore:locais

Liste os locais disponíveis para seu banco de dados do Cloud Firestore.

firestore:bancos de dados:criar DATABASE_ID

Crie uma instância de banco de dados em modo nativo no seu projeto do Firebase.

O comando usa os seguintes sinalizadores:

  • --location <nome da região> para especificar o local de implantação do banco de dados. Observe que você pode executar firebase firestore:locations para listar os locais disponíveis. Obrigatório .
  • --delete-protection <deleteProtectionState> para permitir ou impedir a exclusão do banco de dados especificado. Os valores válidos são ENABLED ou DISABLED . O padrão é DISABLED .
  • --point-in-time-recovery <PITRState> para definir se a recuperação pontual está habilitada. Os valores válidos são ENABLED ou DISABLED . O padrão é DISABLED . Opcional.
firestore:bancos de dados:lista

Liste os bancos de dados no seu projeto do Firebase.

firestore:bancos de dados:obter DATABASE_ID

Obtenha a configuração do banco de dados para um banco de dados especificado em seu projeto do Firebase.

firestore:bancos de dados:atualização DATABASE_ID

Atualize a configuração do banco de dados de um banco de dados especificado no seu projeto do Firebase.

Pelo menos um sinalizador é obrigatório. O comando usa os seguintes sinalizadores:

  • --delete-protection <deleteProtectionState> para permitir ou impedir a exclusão do banco de dados especificado. Os valores válidos são ENABLED ou DISABLED . O padrão é DISABLED .
  • --point-in-time-recovery <PITRState> para definir se a recuperação pontual está habilitada. Os valores válidos são ENABLED ou DISABLED . O padrão é DISABLED . Opcional.
firestore:bancos de dados:excluir DATABASE_ID

Exclua um banco de dados no seu projeto do Firebase.

firestore: índices

Liste os índices de um banco de dados no seu projeto do Firebase.

O comando usa o seguinte sinalizador:

  • --database DATABASE_ID para especificar o nome do banco de dados para o qual listar índices. Se não forem fornecidos, os índices serão listados para o banco de dados padrão.
firestore: excluir

Exclui documentos do banco de dados do projeto ativo. Usando a CLI, você pode excluir recursivamente todos os documentos de uma coleção.

Observe que a exclusão de dados do Cloud Firestore com a CLI incorre em custos de leitura e exclusão. Para obter mais informações, consulte Entenda o faturamento do Cloud Firestore .

O comando usa o seguinte sinalizador:

  • --database DATABASE_ID para especificar o nome do banco de dados do qual os documentos são excluídos. Se não for especificado, os documentos serão excluídos do banco de dados padrão. Opcional.

Comandos do Cloud Functions para Firebase

Comando Descrição
funções:config:clone Clona o ambiente de outro projeto no projeto ativo do Firebase.
funções:config:get Recupera valores de configuração existentes do Cloud Functions do projeto ativo.
funções:config:set Armazena valores de configuração de ambiente de execução do Cloud Functions do projeto ativo.
funções:config:desdefinir Remove valores da configuração de tempo de execução do projeto ativo.
funções:registro Lê registros do Cloud Functions implantados.

Para obter mais informações, consulte a documentação de configuração do ambiente .

Comandos do Crashlytics

Comando Descrição
crashlytics:mappingfile:generateid\
--resource-file= PATH/TO/ANDROID_RESOURCE.XML
Gera um ID de arquivo de mapeamento exclusivo no arquivo de recurso Android (XML) especificado.
crashlytics:mappingfile:upload \
--app= FIREBASE_APP_ID \
--resource-file= PATH/TO/ANDROID_RESOURCE.XML \
PATH/TO/MAPPING_FILE.TXT
Carrega um arquivo de mapeamento compatível com Proguard (TXT) para este aplicativo e o associa ao ID do arquivo de mapeamento declarado no arquivo de recurso Android (XML) especificado.
crashlytics:símbolos:upload \
--app= FIREBASE_APP_ID \
PATH/TO/SYMBOLS
Gera um arquivo de símbolo compatível com Crashlytics para falhas de biblioteca nativa no Android e o carrega nos servidores Firebase.

Comandos de extensões

Comando Descrição
ramal Exibe informações sobre como usar comandos do Firebase Extensions.
Lista as instâncias de extensão instaladas no projeto ativo.
ext:configurar \
EXTENSION_INSTANCE_ID
Reconfigura os valores de parâmetro de uma instância de extensão no manifesto de extensão .
ramal:informações \
PUBLISHER_ID/EXTENSION_ID
Imprime informações detalhadas sobre uma extensão.
ramal:instalar \
PUBLISHER_ID/EXTENSION_ID
Adiciona uma nova instância de uma extensão ao seu manifesto de extensão .
ramal:lista Lista todas as instâncias de extensão instaladas em um projeto do Firebase.
Imprime o ID da instância para cada extensão.
ext:desinstalar \
EXTENSION_INSTANCE_ID
Remove uma instância de extensão do seu manifesto de extensão .
ramal:atualizar \
EXTENSION_INSTANCE_ID
Atualiza uma instância de extensão para a versão mais recente no seu manifesto de extensão .
ramal:exportar Exporta todas as instâncias de extensão instaladas do seu projeto para o manifesto da extensão .

Comandos do editor de extensões

Comando Descrição
ext:dev:init Inicializa uma base de código básica para uma nova extensão no diretório atual.
ext:dev:lista \
PUBLISHER_ID
Imprime uma lista de todas as extensões enviadas por um editor.
ext:dev:registrar Registra um projeto do Firebase como um projeto de editor de extensões .
ext:dev:depreciar \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
Descontinua versões de extensão que correspondem ao predicado de versão.
Um predicado de versão pode ser uma única versão (como 1.0.0 ) ou um intervalo de versões (como >1.0.0 ).
Se nenhum predicado de versão for fornecido, todas as versões dessa extensão serão descontinuadas.
ext:dev:undeprecate \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
Descontinua versões de extensão que correspondem ao predicado de versão.
Um predicado de versão pode ser uma única versão (como 1.0.0 ) ou um intervalo de versões (como >1.0.0 ).
Se nenhum predicado de versão for fornecido, todas as versões dessa extensão serão descontinuadas.
ext:dev:carregar \
PUBLISHER_ID/EXTENSION_ID
Carrega uma nova versão de uma extensão.
ext:dev:uso \
PUBLISHER_ID
Exibe contagens de instalações e métricas de uso para extensões enviadas por um editor.

Comandos de hospedagem

Comando Descrição
hospedagem: desativar

Interrompe a veiculação do tráfego do Firebase Hosting para o projeto ativo do Firebase.

O URL de hospedagem do seu projeto exibirá uma mensagem “Site Not Found” após executar este comando.

Gerenciamento de sites de hospedagem
hospedagem firebase:sites:create\
SITE_ID

Cria um novo site de hospedagem no projeto ativo do Firebase usando o SITE_ID especificado

(Opcional) Especifique um Firebase Web App existente para associar ao novo site, passando o seguinte sinalizador: --app FIREBASE_APP_ID

hospedagem firebase:sites:delete \
SITE_ID

Exclui o site de hospedagem especificado

A CLI exibe um prompt de confirmação antes de excluir o site.

(Opcional) Ignore o prompt de confirmação passando os seguintes sinalizadores: -f ou --force

hospedagem firebase:sites:get\
SITE_ID

Recupera informações sobre o site de hospedagem especificado

hospedagem firebase:sites:lista

Lista todos os sites de hospedagem do projeto Firebase ativo

Gerenciamento de canais de visualização
hospedagem firebase:canal:criar \
CHANNEL_ID

Cria um novo canal de visualização no site de hospedagem padrão usando o CHANNEL_ID especificado

Este comando não é implementado no canal.

hospedagem firebase:canal:delete \
CHANNEL_ID

Exclui o canal de visualização especificado

Você não pode excluir o canal ativo de um site.

hospedagem firebase:canal:deploy \
CHANNEL_ID

Implanta seu conteúdo e configuração do Hosting no canal de visualização especificado

Se o canal de visualização ainda não existir, este comando cria o canal no site de hospedagem padrão antes de implantar no canal.

hospedagem firebase:canal:lista Lista todos os canais (incluindo o canal "ao vivo") no site de hospedagem padrão
hospedagem firebase:canal:open\
CHANNEL_ID
Abre um navegador para o URL do canal especificado ou retorna o URL se não for possível abrir em um navegador
Clonagem de versão
hospedagem firebase:clone \
SOURCE_SITE_ID : SOURCE_CHANNEL_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

Clones a versão mais recentemente implantada no canal "fonte" especificado para o canal "Target" especificado

Este comando também implanta para o canal "Target" especificado. Se o canal "Target" ainda não existir, esse comando cria um novo canal de visualização no site de hospedagem "Target" antes de implantar no canal.

Firebase Hosting: Clone \
SOURCE_SITE_ID :@ VERSION_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

Clones a versão especificada para o canal "Target" especificado

Este comando também implanta para o canal "Target" especificado. Se o canal "Target" ainda não existir, esse comando cria um novo canal de visualização no site de hospedagem "Target" antes de implantar no canal.

Você pode encontrar o VERSION_ID no painel de hospedagem do console do Firebase.

Comandos de banco de dados em tempo real

Observe que você pode criar sua instância inicial e padrão de banco de dados em tempo real no console do Firebase ou usando o fluxo de trabalho firebase init Geral ou o fluxo firebase init database .

Depois que as instâncias forem criadas, você pode gerenciá -las conforme discutido no gerenciamento de várias instâncias de banco de dados em tempo real .

Comando Descrição
Banco de dados: Get Busca dados do banco de dados do projeto ativo e o exibe como JSON. Suporta a consulta em dados indexados.
Banco de dados: instâncias: Criar Cria uma instância de banco de dados com um nome de instância especificado. Aceita a opção --location para criar um banco de dados em uma região especificada. Para nomes de regiões a serem usados ​​com esta opção, consulte Locais selecionados para o seu projeto . Se não existir nenhuma instância do banco de dados para o projeto atual, você será solicitado a executar o fluxo firebase init para criar uma instância.
Banco de dados: Instâncias: Lista Liste todas as instâncias do banco de dados para este projeto. Aceita a opção --location para listar bancos de dados em uma região especificada. Para nomes de regiões a serem usados ​​com esta opção, consulte Locais selecionados para o seu projeto .
Banco de dados: perfil Construa um perfil de operações no banco de dados do projeto ativo. Para obter mais detalhes, consulte os tipos de operação do banco de dados em tempo real .
Banco de dados: push Empurra novos dados para uma lista em um local especificado no banco de dados do projeto ativo. Recebe a entrada de um arquivo, stdin ou um argumento da linha de comando.
Banco de dados: remova Exclui todos os dados em um local especificado no banco de dados do projeto ativo.
Banco de dados: definido Substitui todos os dados em um local especificado no banco de dados do projeto ativo. Recebe a entrada de um arquivo, stdin ou um argumento da linha de comando.
Banco de dados: atualização Executa uma atualização parcial em um local especificado no banco de dados do projeto ativo. Recebe a entrada de um arquivo, stdin ou um argumento da linha de comando.

Comandos de configuração remota

Comando Descrição
remoteconfig: versões: list \
-Limit NUMBER_OF_VERSIONS
Liste as dez versões mais recentes do modelo. Especifique 0 para retornar todas as versões existentes ou, opcionalmente, passar a opção --limit para limitar o número de versões que estão sendo retornadas.
remoteconfig: obtenha \
--v, versão_number VERSION_NUMBER
--o, FILENAME de saída
Obtém o modelo por versão (padrão para a versão mais recente) e produz os grupos de parâmetros, parâmetros e nomes de condição e versão em uma tabela. Opcionalmente, você pode escrever a saída em um arquivo especificado com -o, FILENAME .
RemoteConfig: Rollback \
--v, versão_number VERSION_NUMBER
--força
Rolls Back Remote Config Modelo para um número de versão anterior especificado ou padrões para a versão anterior imediata (versão atual -1). A menos que seja --force , solicita y/n antes de prosseguir para a reversão.