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 do 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 instruções:
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 do 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 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 do 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 correspondente a cada produto, como a do Hosting. Não se esqueça de que é possível executar o comando
firebase init
posteriormente 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 do 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
.
Veja abaixo um exemplo de arquivo firebase.json
com as configurações padrão que vão ser
aplicadas se você selecionar durante a inicialização o Firebase Hosting, o Cloud Firestore e o Cloud Functions para Firebase
(com as opções de origem e lint do TypeScript selecionadas).
{
"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 do 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 do Cloud Firestore, edite o arquivo firebase.json
para associar diferentes regras de segurança do Cloud Firestore 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 do 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 o Cloud Functions de modo a gerar conteúdo dinâmico para o Firebase Hosting e usar suas funções HTTP de produção (implantadas) para emular o 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:
- novas versões dos sites do Firebase Hosting;
- Cloud Functions para Firebase novo, existente ou atualizado;
- regras do Firebase Realtime Database;
- regras do Cloud Storage para Firebase;
- regras do Cloud Firestore;
- índices do 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. Esse 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 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 o Firebase Realtime Database, o Cloud Storage para Firebase e o Cloud Firestore, é possível definir regras de segurança no diretório de projeto local ou no Console do 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 do Firebase Hosting do seu projeto ao selecionar a ação Reverter para a versão escolhida.
No momento, não é possível reverter versões de regras de segurança para o Firebase Realtime Database, o Cloud Storage para Firebase ou o 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 do Firebase Hosting e
as regras de segurança do 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 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 (pode haver versões mais específicas dessa sinalização) |
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');
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');
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 os scriptshosting
efunctions
). O local do diretório que contém os recursos do Hosting ou do Cloud Functions a serem implantados.
Gerenciar várias instâncias do Realtime Database
Um projeto do Firebase pode ter várias instâncias do 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 existente do Google Cloud. | |
projects:create | Cria um novo projeto do 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 estes comandos, você faz a implantação e interage com o site do Firebase Hosting.
Comando | Descrição |
---|---|
deploy | Implanta códigos e recursos do diretório do projeto para o
projeto ativo. No caso do Firebase Hosting, é necessário um arquivo de configuração firebase.json .
|
serve | Inicia um servidor da Web local com a configuração do Firebase Hosting.
No caso do Firebase Hosting, é necessário um arquivo de configuração firebase.json . |
Comandos do App Distribution
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. |
Comandos do Firebase Authentication (gerenciamento de usuários)
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. |
Comandos do Cloud Firestore
Comando | Descrição |
---|---|
firestore:locations |
Liste os locais disponíveis para seu banco de dados do Cloud Firestore. |
firestore:databases:create DATABASE_ID |
Crie um banco de dados 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 os dados do 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:
|
Comandos do Cloud Functions para Firebase
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 existentes das funções do Cloud Functions do projeto ativo. |
functions:config:set | Armazena os valores de configuração do ambiente de execução das funções 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 das funções implantadas no Cloud Functions. |
Para 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 (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ímbolos compatível com o Crashlytics para falhas de biblioteca nativa no Android e faz upload dele nos servidores do Firebase. |
Comandos das extensões
Comando | Descrição |
---|---|
ext | Exibe informações sobre como usar comandos das Extensões do Firebase. 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 de extensões
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. |
Comandos do Hosting
Comando | Descrição |
---|---|
hosting:disable |
Para de exibir o tráfego do 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 do 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 do 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 do 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 existir, esse comando criará um novo canal de visualização no site de "destino" do Hosting antes de fazer a implantação no canal O |
Comandos do Realtime Database
É possível criar sua instância inicial padrão do Realtime Database no Console do Firebase ou usando o fluxo de trabalho firebase init
geral ou o fluxo firebase init database
específico.
Depois de criar as instâncias, é possível gerenciá-las conforme discutido na página 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ções do 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. |
Comandos da Configuração remota
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 da Configuração remota 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. |