A CLI do Firebase (GitHub) oferece várias ferramentas de gerenciamento, visualização e implantação para projetos do Firebase.
Antes de usar a CLI do Firebase, configure um projeto do Firebase.
Configurar ou atualizar a CLI
Instalar a CLI Firebase
É possível instalar a CLI do Firebase usando um método compatível com seu sistema operacional, nível de experiência
e/ou caso de uso. Seja qual for o modo de instalação da CLI, você terá acesso às mesmas funcionalidades e ao comando firebase
.
Windows
É possível instalar a CLI do Firebase para Windows com uma das seguintes opções:
Opção | Descrição | Recomendada para… |
---|---|---|
binário autônomo | Faça o download do binário autônomo para a CLI. Em seguida, acesse o executável
para abrir um shell em que é possível executar o comando
firebase .
|
Novos desenvolvedores Desenvolvedores que não usam ou não conhecem o Node.js |
npm | Use o npm (Gerenciador de pacotes do Node.js) para instalar a CLI e ativar o comando
firebase , disponível globalmente.
|
Desenvolvedores que usam o Node.js. |
binário autônomo
Para fazer o download e executar o binário da CLI do Firebase, siga estas etapas:
Faça o download do binário da CLI do Firebase para Windows.
Acesse o binário para abrir um shell em que é possível executar o comando
firebase
.Prossiga para fazer login e testar a CLI.
npm
Use o npm
(Gerenciador de pacotes do Node.js) para instalar a CLI do Firebase.
Siga estas etapas:
Instale o Node.js usando o nvm-windows (Gerenciador de versões do Node.js). Esse processo instala automaticamente as ferramentas do comando
npm
.Instale a CLI Firebase via
npm
executando o seguinte comando:npm install -g firebase-tools
Essa ação ativa o comando
firebase
, disponível globalmente.Prossiga para fazer login e testar a CLI.
macOS ou Linux
É possível instalar a CLI do Firebase para macOS ou Linux usando uma das seguintes opções:
Opção | Descrição | Recomendada para… |
---|---|---|
script de instalação automática | Execute um único comando que detecta automaticamente o sistema
operacional, faz o download da versão mais recente da CLI e ativa o comando
firebase , disponível globalmente.
|
Novos desenvolvedores Desenvolvedores que não usam ou não conhecem o Node.js Implantações automatizadas em um ambiente de CI/CD |
binário autônomo | Faça o download do binário autônomo para a CLI. Depois, é possível configurar e executar o binário para que se adeque ao seu fluxo de trabalho. | Fluxos de trabalho totalmente personalizáveis usando a CLI |
npm | Use o npm (Gerenciador de pacotes do Node.js) para instalar a CLI e ativar o comando
firebase , disponível globalmente.
|
Desenvolvedores que usam o 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:
Execute o comando cURL a seguir:
curl -sL https://firebase.tools | bash
Este script detecta automaticamente o sistema operacional, faz o download da versão mais recente da CLI do Firebase e ativa o comando
firebase
, disponível globalmente.Prossiga para fazer login e testar a CLI.
Para 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 o download e executar o binário da CLI do Firebase específico para seu SO, siga estas instruções:
Faça o download do binário da CLI do Firebase para o SO: macOS Linux.
(Opcional) Configure o comando
firebase
, disponível globalmente:- Execute
chmod +x ./firebase_tools
para tornar o binário executável. - Adicione o caminho do binário ao seu PATH.
- Execute
Prossiga para fazer login e testar a CLI.
npm
Use o npm
(Gerenciador de pacotes do Node.js) para instalar a CLI do Firebase.
Siga estas etapas:
Instale o Node.js usando o nvm (Gerenciador de versões do Node.js)
. Esse processo instala automaticamente as ferramentas do comandonpm
.Instale a CLI Firebase via
npm
executando o seguinte comando:npm install -g firebase-tools
Essa ação ativa o comando
firebase
, disponível globalmente.Prossiga para fazer login e testar a CLI.
Fazer login e testar a CLI do Firebase
Depois de instalar a CLI, será preciso fazer a autenticação. Em seguida, liste seus projetos do Firebase para confirmar a autenticação.
Faça login no Firebase com sua Conta do Google executando o seguinte comando:
firebase login
Esse comando conecta sua máquina local ao Firebase e concede acesso aos projetos do Firebase.
Para testar se a CLI está instalada corretamente e acessando sua conta, liste seus projetos do Firebase. Execute este comando:
firebase projects:list
A lista exibida precisa conter os mesmos projetos do Firebase exibidos no Console do Firebase.
Atualizar para a versão mais recente da CLI
Geralmente, você quer usar a versão mais atualizada da CLI do Firebase.
O método de atualização da versão da CLI depende do seu sistema operacional e da maneira que você a instalou.
Windows
- binário autônomo: faça o download da nova versão e substitua a antiga no seu sistema.
- npm: execute o comando
npm install -g firebase-tools
.
macOS
- script de instalação automática: execute o comando
curl -sL https://firebase.tools | upgrade=true bash
. - binário autônomo: faça o download da nova versão e substitua a antiga no seu sistema.
- npm: execute o comando
npm install -g firebase-tools
.
Linux
- script de instalação automática: execute o comando
curl -sL https://firebase.tools | upgrade=true bash
. - binário autônomo: faça o download da nova versão e substitua a antiga no seu sistema.
- npm: execute o comando
npm install -g firebase-tools
.
Usar a CLI com sistemas de CI
A CLI do Firebase requer um navegador para concluir a autenticação, mas ela é totalmente compatível com CI e outros ambientes sem interface gráfica.
Em uma máquina com navegador, instale a CLI do Firebase.
Execute o seguinte comando para iniciar o processo de login:
firebase login:ci
Acesse o URL fornecido e faça login usando uma Conta do Google.
Gere um novo token de atualização. A sessão atual da CLI não será afetada.
Armazene o token de saída de uma maneira segura, mas acessível, no sistema de CI.
Use esse token ao executar comandos do
firebase
. É possível escolher qualquer uma destas duas opções:Opção 1: armazene o token como a variável de ambiente
FIREBASE_TOKEN
. Seu sistema usará o token automaticamente.Opção 2: execute todos os comandos do
firebase
com a sinalização--token TOKEN
no seu sistema de CI.
Esta é a ordem de precedência para o carregamento do token: sinalização, variável de ambiente e projeto do Firebase desejado.
Inicializar um projeto do Firebase
A realização de várias tarefas comuns com a CLI, como a implantação em um projeto
do Firebase, exige um diretório de projeto. Ele é criado usando o comando firebase init
. Normalmente, um diretório de projeto é o mesmo diretório da raiz de controle de origem que, depois de executar o comando firebase init
, incluirá 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
guia você pelas etapas de configuração do diretório do seu projeto e de alguns produtos do Firebase. Durante a inicialização do projeto, a CLI do Firebase solicita que você faça o seguinte:
Selecione os produtos do Firebase que você quer configurar no seu projeto do Firebase.
Essa etapa auxilia na definição de configurações de arquivos específicos dos produtos selecionados. Para mais detalhes sobre essas configurações, consulte a documentação do produto específico, como a do Hosting. Lembre-se de que é possível executar o comando
firebase init
mais tarde para configurar outros produtos do Firebase.Selecione um projeto padrão do Firebase.
Essa etapa associa o diretório do projeto atual a um projeto do Firebase para que os comandos específicos dele, como
firebase deploy
, sejam executados no projeto apropriado do Firebase.Também é possível associar vários projetos do Firebase (como um de preparo e um de produção) ao mesmo diretório de projetos.
Ao final da inicialização, o Firebase cria automaticamente os dois arquivos a seguir na raiz do diretório local do app:
Um arquivo de configuração
firebase.json
que exibe a configuração do seu projeto.Um arquivo
.firebaserc
que armazena aliases do seu projeto.
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 ela especifica
quais arquivos e configurações do diretório são implantados no
projeto do Firebase. Como algumas configurações podem ser definidas tanto no diretório
de projeto como no
console do Firebase, resolva quaisquer conflitos de implantação possíveis.
É possível configurar a maioria das opções de Firebase Hosting
diretamente no arquivo firebase.json
. Porém, no caso de outros
serviços que podem ser implantados com a CLI do Firebase, o comando firebase init
cria arquivos específicos em que é possível definir configurações para esses serviços, como um arquivo index.js
para o Cloud Functions. Também é possível configurar hooks de pré ou pós-implantação no arquivo firebase.json
.
Confira abaixo um exemplo de arquivo firebase.json
com as configurações padrão que serão
aplicadas se você selecionar Firebase Hosting, Cloud Firestore e Cloud Functions for Firebase
(com as opções de origem e lint do TypeScript 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"
]
}
}
Enquanto firebase.json
é usado por padrão, é possível transmitir a sinalização --config PATH
para especificar um arquivo de configuração alternativo.
Configuração para vários bancos de dados Cloud Firestore
Quando você executar firebase init
, o arquivo firebase.json
conterá uma única
chave firestore
correspondente ao banco de dados padrão do projeto, conforme mostrado
acima.
Se o projeto contiver vários bancos de dados Cloud Firestore, edite o
arquivo firebase.json
para associar diferentes Cloud Firestore Security Rules e
arquivos de origem do índice do 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 Cloud Functions a serem ignorados na implantação
No momento da implantação da função, a CLI define automaticamente
uma lista de arquivos no diretório functions
que vão ser ignorados. Isso
impede que a implantação use os arquivos de back-end irrelevantes que
aumentariam o tamanho dos dados da implantação.
Veja a lista de arquivos ignorados por padrão 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
a lista de arquivos mostrados acima (ou adicione se estiver faltando).
Gerenciar aliases de projeto
É possível associar diversos projetos do Firebase ao mesmo diretório do projeto.
Você pode usar um projeto para preparo e outro para produção, por exemplo. Ao usar diferentes ambientes de projeto, é possível confirmar as alterações antes de implantá-las na produção. Com o comando firebase use
, dá para alternar os aliases e criar novos.
Adicionar um alias de projeto
Quando você seleciona um projeto do Firebase durante a
inicialização do projeto, o alias de default
é atribuído automaticamente ao projeto. No entanto, para permitir que comandos específicos do projeto sejam executados em outro projeto do Firebase, e ainda poder usar o mesmo diretório do projeto, execute o seguinte comando no diretório do projeto:
firebase use --add
Esse comando solicita que você selecione outro projeto do Firebase e o atribua como alias. As atribuições de aliases são gravadas em um arquivo .firebaserc
dentro do diretório do projeto.
Usar aliases de projeto
Para usar aliases atribuídos de projetos do Firebase, execute qualquer um dos seguintes comandos no diretório do projeto:
Comando | Descrição |
---|---|
firebase use |
Exibe uma lista de aliases atualmente definidos para o diretório do seu projeto. |
firebase use \ |
Direciona todos os comandos para serem executados no projeto específico do Firebase.
A CLI usa este projeto como o "projeto ativo" atualmente. |
firebase use --clear |
Limpa o projeto ativo.
Execute |
firebase use \ |
Remove um alias do diretório do seu projeto. |
É possível modificar o que está sendo usado como o projeto ativo atual ao transmitir a sinalização --project
com um comando da CLI. Veja um exemplo: dá para configurar a CLI para ser executada em um projeto do Firebase em que o alias de staging
foi atribuído. Se quiser executar apenas um comando no projeto do Firebase em que o alias de prod
foi atribuído, você pode executar
, por exemplo.
Controle de origem e aliases do projeto
De modo geral, é necessário incluir o arquivo .firebaserc
no controle de origem para que sua equipe possa compartilhar aliases do projeto. Normalmente, no entanto, não é necessário incluir o arquivo .firebaserc
para projetos de código aberto ou modelos iniciais.
Caso você tenha um projeto de desenvolvimento somente para uso pessoal, transmita a sinalização --project
a cada comando ou execute firebase use PROJECT_ID
sem atribuir um alias para o projeto do Firebase.
Disponibilizar e testar seu projeto do Firebase localmente
Veja e teste seu projeto do Firebase em URLs hospedados localmente antes de implantá-lo na produção. Se você quiser testar somente determinados recursos, use uma lista separada por vírgulas em uma sinalização no comando firebase serve
.
Execute o comando a seguir na raiz do diretório local do seu projeto se quiser realizar alguma destas tarefas:
- Visualizar o conteúdo estático do seu app hospedado no Firebase.
- Usar Cloud Functions para gerar conteúdo dinâmico para Firebase Hosting e usar suas funções HTTP de produção (implantadas) para emular Hosting em um URL local.
firebase serve --only hosting
Emular seu projeto usando as funções HTTP locais
Execute qualquer um dos seguintes comandos no diretório do seu projeto para emular esse projeto usando funções HTTP locais:
Para emular funções HTTP e hospedagem para testes em URLs locais, use um dos comandos a seguir:
firebase serve
firebase serve --only functions,hosting // uses a flag
Para emular somente funções HTTP, use o seguinte comando:
firebase serve --only functions
Testar usando outros dispositivos locais
Por padrão, firebase serve
apenas responde às solicitações de localhost
. Isso
significa que você poderá acessar seu conteúdo hospedado na Web a partir do navegador no seu computador,
mas não em outros dispositivos na rede. Se quiser testar usando outros dispositivos locais, use a sinalização --host
, como:
firebase serve --host 0.0.0.0 // accepts requests to any host
Implantar em um projeto do Firebase
Com a CLI do Firebase, você gerencia a implantação de código e recursos no projeto do Firebase, incluindo:
- Lançamentos de sites Firebase Hosting
- Cloud Functions for Firebase novo, atualizado ou existente
- Esquemas e conectores novos ou atualizados para Firebase Data Connect
- Regras de Firebase Realtime Database
- Regras de Cloud Storage for Firebase
- Regras de Cloud Firestore
- Índices de Cloud Firestore
Para implantar em um projeto do Firebase, execute o seguinte comando no diretório do seu projeto:
firebase deploy
Como alternativa, é possível adicionar um comentário a cada uma das implantações. Ele 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 a partir de um diretório de projeto, é necessário que ele tenha um arquivo
firebase.json
. Esse arquivo é criado automaticamente com o comandofirebase init
.Por padrão,
firebase deploy
cria uma versão para todos os recursos implantáveis no diretório do projeto. Para implantar serviços ou recursos específicos do Firebase, use a implantação parcial.
Conflitos de implantação nas regras de segurança
Para Firebase Realtime Database, Cloud Storage for Firebase e Cloud Firestore, é possível definir regras de segurança no diretório de projeto local ou no console Firebase.
Outra opção para evitar conflitos de implantação é usar a implantação parcial e definir regras apenas no Console do Firebase.
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. Ao implantar
muitas funções, por exemplo, talvez você receba uma mensagem de erro
HTTP 429 Quota
. Para resolver esses problemas,
use a implantação parcial.
Reverter uma implantação
É possível reverter uma implantação do Firebase Hosting na página Firebase Hosting do seu projeto selecionando a ação Reverter para a versão desejada.
No momento, não é possível reverter versões de regras de segurança para Firebase Realtime Database, Cloud Storage for Firebase ou Cloud Firestore.
Implantar serviços específicos do Firebase
Se você quiser implantar apenas serviços ou recursos específicos do Firebase, use uma lista separada por vírgulas em uma sinalização no comando firebase deploy
. Por exemplo,
o comando a seguir implanta o conteúdo Firebase Hosting e
as regras de segurança Cloud Storage.
firebase deploy --only hosting,storage
A tabela a seguir exibe os serviços e recursos disponíveis para
implantação parcial. Os nomes nas sinalizações correspondem às chaves no seu arquivo de configuração firebase.json
.
Sintaxe de sinalização | Serviço ou recurso implantado |
---|---|
--only hosting |
Conteúdo Firebase Hosting |
--only database |
Firebase Realtime Database regras |
--only dataconnect |
Esquemas e conectores Firebase Data Connect |
--only storage |
Cloud Storage for Firebase regras |
--only firestore |
Regras e índices do Cloud Firestore para todos os bancos de dados configurados |
--only functions |
Cloud Functions for Firebase (versões mais específicas dessa flag são possíveis) |
Implantar funções específicas
É possível visar funções específicas ao fazer a implantação. Por exemplo:
firebase deploy --only functions:function1
firebase deploy --only functions:function1,functions:function2
Outra opção é juntar funções em grupos de exportação no arquivo /functions/index.js
. Assim, dá para implantar várias funções usando um único comando.
Por exemplo, é possível gravar as seguintes funções para definir um groupA
e um groupB
:
var functions = require('firebase-functions/v1');
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 no groupB
. Por exemplo:
var functions = require('firebase-functions/v1');
exports.function3 = functions.storage.object().onChange(...);
exports.function4 = functions.analytics.event('in_app_purchase').onLog(...);
Neste exemplo, é possível implantar todas as funções groupA
ao executar 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. Para isso, execute o seguinte comando:
firebase deploy --only functions:groupA.function1,groupB.function4
Excluir funções
A CLI do Firebase é compatível com os comandos e opções a seguir para excluir 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 executada em uma região que não seja 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 de pré e pós-implantação com script
É possível conectar scripts de shell ao comando firebase deploy
para desempenhar tarefas de pré ou pós-implantação. Por exemplo, um script de pré-implantação
poderia transcompilar o código TypeScript em JavaScript, e um hook de pós-implantação
poderia notificar os administradores sobre o novo conteúdo do site implantado no Firebase Hosting.
Para configurar hooks de pré ou pós-implantação, adicione scripts
bash no arquivo de configuração firebase.json
. É possível definir scripts curtos diretamente no arquivo firebase.json
ou usar outros arquivos que estão no diretório do projeto.
Por exemplo, o script a seguir é a expressão firebase.json
para uma
tarefa de pós-implantação que envia uma mensagem do Slack após uma implantação bem-sucedida no
Firebase Hosting.
"hosting": {
// ...
"postdeploy": "./messageSlack.sh 'Just deployed to Firebase Hosting'",
"public": "public"
}
O arquivo de script messageSlack.sh
fica 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
É possível configurar hooks de predeploy
e postdeploy
para qualquer um dos
recursos a serem implantados. Observe que executar o comando firebase deploy
funciona como gatilho para todas as tarefas de pré e pós-implantação definidas no arquivo firebase.json
. Para executar somente aquelas associadas a um serviço específico do Firebase, use comandos de implantação parcial.
Os hooks predeploy
e postdeploy
imprimem a resposta padrão e os streams de erro dos scripts no terminal. Em casos de falha, observe o seguinte:
- Se um hook de pré-implantação não for concluído conforme o esperado, a implantação será cancelada.
- Se ocorrer falhas na implantação por qualquer motivo, os hooks de pós-implantação não serão acionados.
Variáveis de ambiente
As variáveis de ambiente a seguir estão disponíveis nos scripts em execução nos hooks de pré e pós-implantação:
$GCLOUD_PROJECT
: a ID do projeto ativo.$PROJECT_DIR
: o diretório raiz que contém o arquivofirebase.json
.$RESOURCE_DIR
: (somente para scriptshosting
efunctions
). O local do diretório que contém os recursos Hosting ou Cloud Functions a serem implantados.
Gerenciar várias instâncias Realtime Database
Um projeto do Firebase pode ter várias instâncias Firebase Realtime Database. Por padrão, os comandos da CLI interagem com a instância padrão do banco de dados.
No entanto, é possível interagir com uma instância de banco de dados que não seja padrão usando a
sinalização --instance DATABASE_NAME
--instance
:
firebase database:get
firebase database:profile
firebase database:push
firebase database:remove
firebase database:set
firebase database:update
Referência de comandos
Comandos administrativos da CLI
Comando | Descrição |
---|---|
help | Exibe informações de ajuda sobre a CLI ou comandos específicos. |
init | Associa e define um novo projeto do Firebase no diretório atual.
Este comando cria um arquivo de configuração firebase.json no diretório atual. |
login | Autentica a CLI para 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 a sinalização --no-localhost |
login:ci | Gera um token de autenticação a ser usado em ambientes não interativos. |
logout | Sai da CLI a partir da sua conta do Firebase. |
open | Abre um navegador para recursos relevantes do projeto. |
projects:list | Exibe todos os projetos do Firebase aos quais você tem acesso. |
use | Configura o projeto atual do Firebase para a CLI. Gerencia aliases do projeto. |
Comandos de gerenciamento de projetos
Comando | Descrição | |
---|---|---|
Gerenciamento de projetos do Firebase | ||
projects:addfirebase | Adiciona recursos do Firebase a um projeto Google Cloud. | |
projects:create | Cria um novo projeto Google Cloud e adiciona recursos do Firebase a ele. | |
projects:list | Exibe todos os projetos do Firebase aos quais você tem acesso. | |
Gerenciamento de apps do Firebase (iOS, Android, Web) | ||
apps:create | Cria um novo aplicativo do Firebase no projeto ativo. | |
apps:list | Exibe os aplicativos do Firebase registrados no projeto ativo. | |
apps:sdkconfig | Imprime a configuração dos serviços do Google de um aplicativo do Firebase. | |
setup:web | Obsoleto. Em vez dele, use apps:sdkconfig e especifique web como argumento da plataforma.Mostra a configuração dos serviços do Google de um app da Web do Firebase. |
|
Gerenciamento de hashes de certificado SHA (somente Android) | ||
apps:android:sha:create \ FIREBASE_APP_ID SHA_HASH |
Adiciona o hash de certificado SHA específico ao aplicativo do Firebase para Android especificado. | |
apps:android:sha:delete \ FIREBASE_APP_ID SHA_HASH |
Exclui o hash do certificado SHA específico do aplicativo do Firebase para Android especificado. | |
apps:android:sha:list \ FIREBASE_APP_ID |
Lista os hashes de certificado SHA para o aplicativo do Firebase para Android especificado. |
Implantação e desenvolvimento local
Com esses comandos, você faz a implantação e interage com o site Firebase Hosting.
Comando | Descrição |
---|---|
deploy | Implanta códigos e recursos do diretório do projeto para o
projeto ativo. Para Firebase Hosting, é necessário um
arquivo de configuração firebase.json .
|
serve | Inicia um servidor da Web local com a configuração Firebase Hosting.
Para Firebase Hosting, é necessário um
arquivo de configuração firebase.json . |
App Distribution commands
Comando | Descrição |
---|---|
appdistribution:distribute \ --app FIREBASE_APP_ID |
Disponibiliza a versão criada para os examinadores. |
appdistribution:testers:add | Adiciona testadores ao projeto. |
appdistribution:testers:remove | Remove os testadores do projeto. |
App Hosting commands
Comando | Descrição |
---|---|
apphosting:backends:create \ --project PROJECT_ID \ --location REGION --app APP_ID |
Cria a coleção de recursos gerenciados vinculados a uma única base de código que compreende um back-end App Hosting. Opcionalmente, especifique um app da Web do Firebase atual pelo ID do app do Firebase. |
apphosting:backends:get \ BACKEND_ID \ --project PROJECT_ID \ --location REGION |
Recupera detalhes específicos, incluindo o URL público, de um back-end. |
apphosting:backends:list \ --project PROJECT_ID |
Recupera uma lista de todos os back-ends ativos associados a um projeto. |
firebase apphosting:backends:delete \ BACKEND_ID \ --project PROJECT_ID \ --location REGION |
Exclui um back-end do projeto. |
firebase apphosting:config:export \ --project PROJECT_ID \ --secrets ENVIRONMENT_NAME |
Exporta secrets para uso na emulação de apps. O padrão é segredos armazenados em apphosting.yaml ou
--secrets para especificar qualquer ambiente que tenha um
arquivo apphosting.ENVIRONMENT_NAME.yaml correspondente.
|
firebase apphosting:rollouts:create \ BACKEND_ID \ --git_branch BRANCH_NAME \ --git_commit COMMIT_ID |
Cria um lançamento acionado manualmente. Especifique, se quiser, a confirmação mais recente de uma ramificação ou de uma confirmação específica. Se nenhuma opção for fornecida, a seleção será solicitada em uma lista de filiais. |
apphosting:secrets:set
KEY
--project PROJECT_ID \ --location REGION \ --data-file DATA_FILE_PATH |
Armazena material confidencial no Secret Manager. Opcionalmente, forneça um caminho de arquivo para ler dados confidenciais. Defina como _ para ler dados confidenciais da entrada padrão.
|
apphosting:secrets:grantaccess
KEY
BACKEND_ID \ --project PROJECT_ID \ --location REGION |
Concede à conta de serviço de back-end acesso ao secret fornecido para que ele possa ser acessado por App Hosting no momento de criação ou execução. |
apphosting:secrets:describe
KEY \ --project PROJECT_ID |
Recebe os metadados de um secret e as versões dele. |
firebase apphosting:secrets:access \ KEY[@version] \ --project PROJECT_ID |
Acessa um valor de secret com base no secret e na versão dele. O padrão é acessar a versão mais recente. |
Comandos de gerenciamento de usuários Authentication
Comando | Descrição |
---|---|
auth:export | Exporta as contas de usuários do projeto ativo para um arquivo JSON ou CSV. Para mais detalhes, consulte a página auth:import e auth:export. |
auth:import | Importa as contas de usuários de um arquivo JSON ou CSV para o projeto ativo. Para mais detalhes, consulte a página auth:import e auth:export. |
Cloud Firestore commands
Comando | Descrição |
---|---|
firestore:locations |
Liste os locais disponíveis para seu banco de dados Cloud Firestore. |
firestore:databases:create DATABASE_ID |
Crie uma instância de banco de dados no modo nativo no seu projeto do Firebase. O comando usa as seguintes sinalizações:
|
firestore:databases:list |
Liste bancos de dados no seu projeto do Firebase. |
firestore:databases:get DATABASE_ID |
Recebe a configuração do banco de dados para um banco de dados especificado no seu projeto do Firebase. |
firestore:databases:update DATABASE_ID |
Atualizar a configuração de um banco de dados especificado no projeto do Firebase. Pelo menos um sinalizador é necessário. O comando usa as seguintes sinalizações:
|
firestore:databases:delete DATABASE_ID |
Exclua um banco de dados no seu projeto do Firebase. |
firestore:indexes |
Liste índices para um banco de dados no seu projeto do Firebase. O comando usa a seguinte sinalização:
|
firestore:delete |
Exclui documentos do banco de dados do projeto ativo. Usando a CLI, é possível excluir todos os documentos de uma coleção de forma recorrente. Excluir dados Cloud Firestore com a CLI gera custos de leitura e exclusão. Para mais informações, consulte Noções básicas sobre o faturamento do Cloud Firestore. O comando usa a seguinte sinalização:
|
Cloud Functions for Firebase commands
Comando | Descrição |
---|---|
functions:config:clone | Clona o ambiente de outro projeto no projeto ativo do Firebase. |
functions:config:get | Recupera os valores de configuração atuais do Cloud Functions do projeto ativo. |
functions:config:set | Armazena os valores de configuração do ambiente de execução do Cloud Functions do projeto ativo. |
functions:config:unset | Remove os valores da configuração do ambiente de execução do projeto ativo. |
functions:log | Lê os registros da Cloud Functions implantada. |
Para mais informações, consulte a documentação de configuração do ambiente.
Crashlytics commands
Comando | Descrição |
---|---|
crashlytics:mappingfile:generateid \ --resource-file=PATH/TO/ANDROID_RESOURCE.XML |
Gera um ID de arquivo de mapeamento exclusivo no arquivo (XML) de recursos do Android especificado. |
crashlytics:mappingfile:upload \ --app=FIREBASE_APP_ID \ --resource-file=PATH/TO/ANDROID_RESOURCE.XML \ PATH/TO/MAPPING_FILE.TXT |
Faz upload de um arquivo (TXT) de mapeamento compatível com o Proguard para esse app e o associa ao ID do arquivo de mapeamento declarado no arquivo (XML) de recursos do Android especificado. |
crashlytics:symbols: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 faz upload dele nos servidores do Firebase |
Data Connect commands
Esses comandos e os casos de uso deles são abordados em mais detalhes no guia de referência da CLI Data Connect.
Comando | Descrição |
---|---|
dataconnect:services:list | Lista todos os serviços Data Connect implantados no seu projeto do Firebase. |
dataconnect:sql:diff \ SERVICE_ID |
Para o serviço especificado, mostra as diferenças entre um esquema Data Connect local e o esquema do banco de dados do Cloud SQL. |
dataconnect:sql:migrate \ --force \ SERVICE_ID |
Migra o esquema do banco de dados do Cloud SQL para corresponder ao esquema Data Connect local. |
dataconnect:sql:grant\ --role=ROLE \ --email=EMAIL \ SERVICE_ID |
Concede o papel do SQL ao e-mail da conta de serviço ou do usuário especificado.
Para a flag --role , o papel do SQL a ser concedido é um destes:
owner , writer ou reader .
Para a flag --email , forneça o endereço de e-mail do usuário ou da conta de serviço a que você quer conceder o papel.
|
dataconnect:sdk:generate | Gera SDKs tipados para seus conectores Data Connect. |
Extensions commands
Comando | Descrição |
---|---|
ext | Mostra informações sobre como usar comandos Firebase Extensions. Lista as instâncias de extensão do projeto ativo. |
ext:configure \ EXTENSION_INSTANCE_ID |
Reconfigura os valores de parâmetro de uma instância de extensão no manifesto de extensões. |
ext:info \ PUBLISHER_ID/EXTENSION_ID |
Imprime informações detalhadas sobre uma extensão. |
ext:install \ PUBLISHER_ID/EXTENSION_ID |
Adiciona uma nova instância de uma extensão ao seu manifesto de extensões. |
ext:list | 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:uninstall \ EXTENSION_INSTANCE_ID |
Remove uma extensão de extensão do seu manifesto de extensões. |
ext:update \ EXTENSION_INSTANCE_ID |
Atualiza uma instância de extensão para a versão mais recente no seu manifesto de extensões. |
ext:export | Exporta todas as instâncias de extensão instaladas do projeto para o manifesto de extensões. |
Comandos do editor Extensions
Comando | Descrição |
---|---|
ext:dev:init | Inicializa uma base de código para uma nova extensão no diretório atual. |
ext:dev:list \ PUBLISHER_ID |
Imprime uma lista de todas as extensões enviadas por um editor. |
ext:dev:register | Registra um projeto do Firebase como um projeto de editor de extensões. |
ext:dev:deprecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE |
Descontinua
versões de extensão que correspondem ao predicado de versão. O predicado de versão pode ter uma única versão (como 1.0.0 )
ou um intervalo de versões (como >1.0.0 ).Sem um predicado de versão, é necessário descontinuar todas as versões dessa extensão. |
ext:dev:undeprecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE |
Cancela a descontinuação das
versões de extensão que correspondem ao predicado de versão. Um predicado de versão pode ter uma única versão (como 1.0.0 )
ou um intervalo de versões (como >1.0.0 ).Sem um predicado de versão, é necessário cancelar a descontinuação de todas as versões dessa extensão. |
ext:dev:upload \ PUBLISHER_ID/EXTENSION_ID |
Faz o upload de uma nova versão de uma extensão. |
ext:dev:usage \ PUBLISHER_ID |
Mostra as contagens de instalações e as métricas de uso das extensões enviadas por um editor. |
Hosting commands
Comando | Descrição |
---|---|
hosting:disable |
Interrompe a veiculação de tráfego Firebase Hosting para o projeto ativo do Firebase. O URL do seu projeto do Hosting exibirá a mensagem “Site não encontrado” depois da execução deste comando. |
Gerenciamento de sites Hosting | |
firebase hosting:sites:create \ SITE_ID |
Cria um novo site do Hosting no projeto ativo do Firebase usando o (Opcional) Especifique um app da Web do Firebase atual para associar ao novo site ao transmitir a seguinte sinalização:
|
firebase hosting:sites:delete \ SITE_ID |
Exclui o site Hosting especificado A CLI exibe um prompt de confirmação antes da exclusão do site. (Opcional) Pule a solicitação de confirmação ao transmitir as seguintes sinalizações: |
firebase hosting:sites:get \ SITE_ID |
Recupera informações sobre o site Hosting especificado |
firebase hosting:sites:list |
Lista todos os sites do Hosting para o projeto ativo do Firebase |
Gerenciamento dos canais de visualização | |
firebase hosting:channel:create \ CHANNEL_ID |
Cria um novo canal de visualização no
site padrão do Hosting usando o Esse comando não é implantado no canal. |
firebase hosting:channel:delete \ CHANNEL_ID |
Exclui o canal de visualização especificado. Não é possível excluir o canal ativo de um site. |
firebase hosting:channel:deploy \ CHANNEL_ID |
Implanta o conteúdo e a configuração do Hosting no canal de visualização especificado. Se o canal de visualização ainda não existir, esse comando criará o canal no site padrão do Hosting antes de implantar no canal. |
firebase hosting:channel:list | Lista todos os canais (incluindo o canal "ativo") no site padrão do Hosting. |
firebase hosting:channel:open \ CHANNEL_ID |
Abre um navegador no URL do canal especificado ou retornará o URL se não for possível abrir em um navegador. |
Clonagem de versões | |
firebase hosting:clone \ SOURCE_SITE_ID:SOURCE_CHANNEL_ID \ TARGET_SITE_ID:TARGET_CHANNEL_ID |
Clona a última versão implantada no canal "de origem" especificado para o canal "de destino" escolhido. Esse comando também implanta no canal de destino especificado. Se o canal de destino ainda não existe, esse comando cria um novo canal de visualização no site de destino do Hosting antes de fazer a implantação no canal. |
firebase hosting:clone \ SOURCE_SITE_ID:@VERSION_ID \ TARGET_SITE_ID:TARGET_CHANNEL_ID |
Clona a versão especificada para o canal de destino escolhido. Esse comando também implanta no canal de destino especificado. Se o canal de destino ainda não existe, esse comando cria um novo canal de visualização no site de destino do Hosting antes de fazer a implantação no canal. O |
Realtime Database commands
É possível criar sua instância inicial padrão do Realtime Database no console
Firebase ou usando o fluxo de trabalho
geral firebase init
ou o fluxo
firebase init database
específico.
Depois de criar as instâncias, é possível gerenciá-las conforme discutido em Gerenciar várias instâncias do Realtime Database.
Comando | Descrição |
---|---|
database:get | Busca dados do banco de dados do projeto ativo e os exibe como JSON. Suporta consultas em dados indexados. |
database:instances:create | 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 usar nomes de regiões com essa opção, consulte selecionar locais para seu projeto.
Se não houver nenhuma instância de banco de dados no projeto atual, você precisará executar o fluxo firebase init para criar uma instância.
|
database:instances:list | Lista todas as instâncias de banco de dados para este projeto. Aceita a opção
--location para listar bancos de dados em uma região
especificada. Para ver os nomes das regiões a serem usados com essa opção, consulte selecionar locais para seu projeto. |
database:profile | Cria um perfil de operações no banco de dados do projeto ativo. Para mais detalhes, consulte os tipos de operação Realtime Database. |
database:push | Envia dados novos para uma lista em um local especificado no banco de dados do projeto ativo. Recebe entradas de um arquivo, sejam elas padrão ou argumentos da linha de comando. |
database:remove | Exclui todos os dados em um local especificado no banco de dados do projeto ativo. |
database:set | Substitui todos os dados em um local especificado no banco de dados do projeto ativo. Recebe entradas de um arquivo STDIN ou de um argumento da linha de comando. |
database:update | Faz uma atualização parcial em um local especificado no banco de dados do projeto ativo. Recebe entradas de um arquivo, sejam elas padrão ou argumentos da linha de comando. |
Remote Config commands
Comando | Descrição |
---|---|
remoteconfig:versions:list \ --limit NUMBER_OF_VERSIONS |
Lista as 10 versões mais recentes do modelo. Especifique
0 para retornar todas as versões ou, como alternativa,
transmita a opção --limit para limitar o número de
versões retornadas. |
remoteconfig:get \ --v, version_number VERSION_NUMBER --o, output FILENAME |
Recebe o modelo por versão (o padrão é a versão mais recente)
e coloca os grupos de parâmetros, os parâmetros, os nomes das condições e a
versão em uma tabela. Como alternativa, é possível gravar a saída em
um arquivo especificado com -o, FILENAME . |
remoteconfig:rollback \ --v, version_number VERSION_NUMBER --force |
Reverte o modelo Remote Config para um número especificado de uma versão
anterior ou reverte para a versão anterior mais recente (versão atual -1). A menos que --force seja transmitido, aparecerá uma mensagem Y/N
pedindo para você confirmar a reversão. |