Riferimento alla CLI di Firebase

La CLI Firebase ( GitHub ) fornisce una varietà di strumenti per la gestione, la visualizzazione e la distribuzione nei progetti Firebase.

Prima di utilizzare la CLI Firebase, configura un progetto Firebase .

Configura o aggiorna la CLI

Installa la CLI di Firebase

Puoi installare la CLI Firebase utilizzando un metodo che corrisponda al tuo sistema operativo, livello di esperienza e/o caso d'uso. Indipendentemente da come installi la CLI, hai accesso alle stesse funzionalità e al comando firebase .

Windows macOS Linux

finestre

Puoi installare la CLI Firebase per Windows utilizzando una delle seguenti opzioni:

Opzione Descrizione Consigliato per...
binario autonomo Scarica il file binario autonomo per la CLI. Quindi, puoi accedere all'eseguibile per aprire una shell in cui puoi eseguire il comando firebase . Nuovi sviluppatori

Sviluppatori che non utilizzano o non hanno familiarità con Node.js
npm Utilizza npm (Node Package Manager) per installare la CLI e abilitare il comando firebase disponibile a livello globale. Sviluppatori che utilizzano Node.js

binario autonomo

Per scaricare ed eseguire il file binario per la CLI Firebase, procedi nel seguente modo:

  1. Scarica il file binario della CLI Firebase per Windows .

  2. Accedi al binario per aprire una shell in cui puoi eseguire il comando firebase .

  3. Continua ad accedere e testa la CLI .

npm

Per utilizzare npm (Node Package Manager) per installare la CLI Firebase, attenersi alla seguente procedura:

  1. Installa Node.js utilizzando nvm-windows (il gestore delle versioni del nodo). L'installazione di Node.js installa automaticamente gli strumenti di comando npm .

  2. Installa la CLI Firebase tramite npm eseguendo il comando seguente:

    npm install -g firebase-tools

    Questo comando abilita il comando firebase disponibile a livello globale.

  3. Continua ad accedere e testa la CLI .

macOS o Linux

Puoi installare la CLI Firebase per macOS o Linux utilizzando una delle seguenti opzioni:

Opzione Descrizione Consigliato per...
script di installazione automatica Esegui un singolo comando che rileva automaticamente il tuo sistema operativo, scarica l'ultima versione della CLI, quindi abilita il comando firebase disponibile a livello globale. Nuovi sviluppatori

Sviluppatori che non utilizzano o non hanno familiarità con Node.js

Distribuzioni automatizzate in un ambiente CI/CD
binario autonomo Scarica il file binario autonomo per la CLI. Quindi, puoi configurare ed eseguire il file binario per adattarlo al tuo flusso di lavoro. Flussi di lavoro completamente personalizzabili utilizzando la CLI
npm Utilizza npm (Node Package Manager) per installare la CLI e abilitare il comando firebase disponibile a livello globale. Sviluppatori che utilizzano Node.js

script di installazione automatica

Per installare la CLI Firebase utilizzando lo script di installazione automatica, procedi nel seguente modo:

  1. Esegui il seguente comando cURL:

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

    Questo script rileva automaticamente il tuo sistema operativo, scarica l'ultima versione della CLI di Firebase, quindi abilita il comando firebase disponibile a livello globale.

  2. Continua ad accedere e testa la CLI .

Per ulteriori esempi e dettagli sullo script di installazione automatica, fare riferimento al codice sorgente dello script su firebase.tools .

binario autonomo

Per scaricare ed eseguire il file binario per la CLI Firebase specifica per il tuo sistema operativo, procedi nel seguente modo:

  1. Scarica il file binario della CLI Firebase per il tuo sistema operativo: macOS | Linux

  2. (Facoltativo) Configura il comando firebase disponibile a livello globale.

    1. Rendi eseguibile il binario eseguendo chmod +x ./firebase_tools .
    2. Aggiungi il percorso del binario al tuo PATH.
  3. Continua ad accedere e testa la CLI .

npm

Per utilizzare npm (Node Package Manager) per installare la CLI Firebase, attenersi alla seguente procedura:

  1. Installa Node.js utilizzando nvm (il gestore delle versioni del nodo).
    L'installazione di Node.js installa automaticamente gli strumenti di comando npm .

  2. Installa la CLI Firebase tramite npm eseguendo il comando seguente:

    npm install -g firebase-tools

    Questo comando abilita il comando firebase disponibile a livello globale.

  3. Continua ad accedere e testa la CLI .

Accedi e prova la CLI di Firebase

Dopo aver installato la CLI, è necessario autenticarsi. Quindi puoi confermare l'autenticazione elencando i tuoi progetti Firebase.

  1. Accedi a Firebase utilizzando il tuo account Google eseguendo il seguente comando:

    firebase login

    Questo comando collega il tuo computer locale a Firebase e ti consente l'accesso ai tuoi progetti Firebase.

  2. Verifica che la CLI sia installata correttamente e accedi al tuo account elencando i tuoi progetti Firebase. Esegui il seguente comando:

    firebase projects:list

    L'elenco visualizzato dovrebbe essere lo stesso dei progetti Firebase elencati nella console Firebase .

Aggiorna all'ultima versione della CLI

In genere, desideri utilizzare la versione CLI di Firebase più aggiornata.

Il modo in cui aggiorni la versione della CLI dipende dal tuo sistema operativo e da come hai installato la CLI.

finestre

  • Binario autonomo : scarica la nuova versione , quindi sostituiscila sul tuo sistema
  • npm : esegui npm install -g firebase-tools

Mac OS

  • script di installazione automatica : esegui curl -sL https://firebase.tools | upgrade=true bash
  • Binario autonomo : scarica la nuova versione , quindi sostituiscila sul tuo sistema
  • npm : esegui npm install -g firebase-tools

Linux

  • script di installazione automatica : esegui curl -sL https://firebase.tools | upgrade=true bash
  • Binario autonomo : scarica la nuova versione , quindi sostituiscila sul tuo sistema
  • npm : esegui npm install -g firebase-tools

Utilizzare la CLI con i sistemi CI

La CLI Firebase richiede un browser per completare l'autenticazione, ma la CLI è completamente compatibile con CI e altri ambienti headless.

  1. Su un computer dotato di browser, installa la CLI Firebase .

  2. Avviare il processo di accesso eseguendo il comando seguente:

    firebase login:ci
  3. Visita l'URL fornito, quindi accedi utilizzando un account Google.

  4. Stampa un nuovo token di aggiornamento . La sessione CLI corrente non sarà influenzata.

  5. Archivia il token di output in modo sicuro ma accessibile nel tuo sistema CI.

  6. Utilizza questo token quando esegui i comandi firebase . Puoi utilizzare una delle due opzioni seguenti:

    • Opzione 1: archivia il token come variabile di ambiente FIREBASE_TOKEN . Il tuo sistema utilizzerà automaticamente il token.

    • Opzione 2: esegui tutti i comandi firebase con il flag --token TOKEN nel tuo sistema CI.
      Questo è l'ordine di precedenza per il caricamento del token: flag, variabile di ambiente, progetto Firebase desiderato.

Inizializza un progetto Firebase

Molte attività comuni eseguite utilizzando la CLI, come la distribuzione in un progetto Firebase, richiedono una directory di progetto . Puoi stabilire una directory di progetto utilizzando il comando firebase init . Una directory di progetto è in genere la stessa directory della root del controllo del codice sorgente e, dopo aver eseguito firebase init , la directory contiene un file di configurazione firebase.json .

Per inizializzare un nuovo progetto Firebase, esegui il comando seguente dalla directory della tua app:

firebase init

Il comando firebase init ti guida attraverso la configurazione della directory del progetto e di alcuni prodotti Firebase. Durante l'inizializzazione del progetto, la CLI Firebase ti chiede di completare le seguenti attività:

  • Seleziona i prodotti Firebase desiderati da configurare nel tuo progetto Firebase.

    Questo passaggio richiede di impostare le configurazioni per file specifici per i prodotti selezionati. Per maggiori dettagli su queste configurazioni fare riferimento alla documentazione specifica del prodotto (ad esempio Hosting ). Tieni presente che puoi sempre eseguire firebase init in un secondo momento per configurare più prodotti Firebase.

  • Seleziona un progetto Firebase predefinito.

    Questo passaggio associa la directory del progetto corrente a un progetto Firebase in modo che i comandi specifici del progetto (come firebase deploy ) vengano eseguiti sul progetto Firebase appropriato.

    È anche possibile associare più progetti Firebase (come un progetto di staging e un progetto di produzione) alla stessa directory del progetto.

Al termine dell'inizializzazione, Firebase crea automaticamente i due file seguenti nella directory principale dell'app locale:

  • Un file di configurazione firebase.json che elenca la configurazione del tuo progetto.

  • Un file .firebaserc che memorizza gli alias del tuo progetto.

Il file firebase.json

Il comando firebase init crea un file di configurazione firebase.json nella radice della directory del progetto.

Il file firebase.json è necessario per distribuire risorse con la CLI Firebase perché specifica quali file e impostazioni della directory del progetto vengono distribuiti nel progetto Firebase. Poiché alcune impostazioni possono essere definite nella directory del progetto o nella console Firebase, assicurati di risolvere eventuali conflitti di distribuzione .

Puoi configurare la maggior parte delle opzioni di hosting Firebase direttamente nel file firebase.json . Tuttavia, per altri servizi Firebase che possono essere distribuiti con la CLI Firebase , il comando firebase init crea file specifici in cui puoi definire le impostazioni per tali servizi, ad esempio un file index.js per Cloud Functions. Puoi anche impostare hook predeploy o postdeploy nel file firebase.json .

Di seguito è riportato un esempio di file firebase.json con impostazioni predefinite se selezioni Firebase Hosting, Cloud Firestore e Cloud Functions for Firebase (con l'origine TypeScript e le opzioni lint selezionate) durante l'inizializzazione.

{
  "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"
    ]
  }
}

Sebbene firebase.json venga utilizzato per impostazione predefinita, puoi passare il flag --config PATH per specificare un file di configurazione alternativo.

Configurazione per più database Cloud Firestore

Quando esegui firebase init , il tuo file firebase.json conterrà una singola chiave firestore corrispondente al database predefinito del tuo progetto, come mostrato sopra.

Se il tuo progetto contiene più database Cloud Firestore, modifica il file firebase.json per associare diverse regole di sicurezza Cloud Firestore e file di origine dell'indice del database a ciascun database. Modifica il file con un array JSON, con una voce per ciascun database.

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

File Cloud Functions da ignorare durante la distribuzione

Al momento della distribuzione della funzione, la CLI specifica automaticamente un elenco di file nella directory functions da ignorare. Ciò impedisce la distribuzione nel backend di file estranei che potrebbero aumentare la dimensione dei dati della distribuzione.

L'elenco dei file ignorati per impostazione predefinita, mostrato in formato JSON, è:

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

Se aggiungi i tuoi valori personalizzati per ignore in firebase.json , assicurati di mantenere (o aggiungere, se manca) l'elenco dei file mostrato sopra.

Gestire gli alias del progetto

Puoi associare più progetti Firebase alla stessa directory di progetto. Ad esempio, potresti voler utilizzare un progetto Firebase per la gestione temporanea e un altro per la produzione. Utilizzando ambienti di progetto diversi, puoi verificare le modifiche prima della distribuzione in produzione. Il comando firebase use ti consente di passare da un alias all'altro e di creare nuovi alias.

Aggiungi un alias di progetto

Quando selezioni un progetto Firebase durante l'inizializzazione del progetto , al progetto viene assegnato automaticamente l'alias default . Tuttavia, per consentire l'esecuzione di comandi specifici del progetto su un progetto Firebase diverso ma utilizzando comunque la stessa directory del progetto, esegui il comando seguente dalla directory del progetto:

firebase use --add

Questo comando ti chiede di selezionare un altro progetto Firebase e di assegnare il progetto come alias. Le assegnazioni di alias vengono scritte in un file .firebaserc all'interno della directory del progetto.

Utilizza gli alias del progetto

Per utilizzare gli alias di progetto Firebase assegnati, esegui uno dei seguenti comandi dalla directory del progetto.

Comando Descrizione
firebase use Visualizza un elenco di alias attualmente definiti per la directory del tuo progetto
firebase use \
PROJECT_ID|ALIAS
Indica l'esecuzione di tutti i comandi sul progetto Firebase specificato.
La CLI utilizza questo progetto come "progetto attivo" attualmente.
firebase use --clear Cancella il progetto attivo.

Esegui firebase use PROJECT_ID|ALIAS per impostare un nuovo progetto attivo prima di eseguire altri comandi CLI.

firebase use \
--unalias PROJECT_ALIAS
Rimuove un alias dalla directory del progetto.

Puoi sovrascrivere ciò che viene utilizzato come progetto attualmente attivo passando il flag --project con qualsiasi comando CLI. Ad esempio: puoi impostare la tua CLI in modo che venga eseguita su un progetto Firebase a cui hai assegnato l'alias staging . Se desideri eseguire un singolo comando sul progetto Firebase a cui hai assegnato l'alias prod , puoi eseguire, ad esempio, firebase deploy --project=prod .

Controllo del codice sorgente e alias di progetto

In generale, dovresti controllare il tuo file .firebaserc nel controllo del codice sorgente per consentire al tuo team di condividere gli alias del progetto. Tuttavia, per i progetti open source o i modelli iniziali, generalmente non dovresti archiviare il tuo file .firebaserc .

Se hai un progetto di sviluppo riservato al tuo utilizzo, puoi passare il flag --project con ciascun comando oppure eseguire firebase use PROJECT_ID senza assegnare un alias al progetto Firebase.

Servi e testa il tuo progetto Firebase localmente

Puoi visualizzare e testare il tuo progetto Firebase su URL ospitati localmente prima della distribuzione in produzione. Se desideri testare solo funzionalità selezionate, puoi utilizzare un elenco separato da virgole in un flag sul comando firebase serve .

Esegui il comando seguente dalla radice della directory del progetto locale se desideri eseguire una delle seguenti attività:

  • Visualizza il contenuto statico per la tua app ospitata su Firebase.
  • Utilizza Cloud Functions per generare contenuto dinamico per Firebase Hosting e desideri utilizzare le funzioni HTTP di produzione (distribuite) per emulare l'hosting su un URL locale.
firebase serve --only hosting

Emula il tuo progetto utilizzando le funzioni HTTP locali

Esegui uno dei seguenti comandi dalla directory del tuo progetto per emulare il tuo progetto utilizzando le funzioni HTTP locali .

  • Per emulare le funzioni HTTP e l'hosting per testare gli URL locali, utilizzare uno dei seguenti comandi:

    firebase serve
    firebase serve --only functions,hosting // uses a flag
  • Per emulare solo le funzioni HTTP, utilizzare il seguente comando:

    firebase serve --only functions

Test da altri dispositivi locali

Per impostazione predefinita, firebase serve risponde solo alle richieste di localhost . Ciò significa che potrai accedere ai contenuti ospitati dal browser web del tuo computer ma non da altri dispositivi sulla tua rete. Se desideri eseguire il test da altri dispositivi locali, utilizza il flag --host , in questo modo:

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

Distribuisci a un progetto Firebase

La CLI Firebase gestisce la distribuzione di codice e risorse nel tuo progetto Firebase, tra cui:

  • Nuove versioni dei tuoi siti Hosting Firebase
  • Cloud Functions per Firebase nuove, aggiornate o esistenti
  • Regole per il database Firebase Realtime
  • Regole per Cloud Storage per Firebase
  • Regole per Cloud Firestore
  • Indici per Cloud Firestore

Per eseguire la distribuzione in un progetto Firebase, esegui il comando seguente dalla directory del progetto:

firebase deploy

Facoltativamente puoi aggiungere un commento a ciascuna delle tue distribuzioni. Questo commento verrà visualizzato insieme alle altre informazioni sulla distribuzione nella pagina Hosting Firebase del tuo progetto. Per esempio:

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

Quando utilizzi il comando firebase deploy , tieni presente quanto segue:

  • Per distribuire risorse da una directory di progetto, la directory di progetto deve avere un file firebase.json . Questo file viene creato automaticamente per te dal comando firebase init .

  • Per impostazione predefinita, firebase deploy crea una versione per tutte le risorse distribuibili nella directory del progetto. Per distribuire servizi o funzionalità Firebase specifici, utilizza la distribuzione parziale .

Conflitti di distribuzione per le regole di sicurezza

Per Firebase Realtime Database, Cloud Storage for Firebase e Cloud Firestore, puoi definire le regole di sicurezza nella directory del progetto locale o nella console Firebase .

Un'altra opzione per evitare conflitti di distribuzione è utilizzare la distribuzione parziale e definire solo regole nella console Firebase.

Quote di distribuzione

È possibile (anche se improbabile) che potresti superare una quota che limita la velocità o il volume delle operazioni di distribuzione di Firebase. Ad esempio, quando si distribuiscono un numero molto elevato di funzioni, potresti ricevere un messaggio di errore HTTP 429 Quota . Per risolvere questi problemi, prova a utilizzare la distribuzione parziale .

Rollback di una distribuzione

Puoi eseguire il rollback di una distribuzione di Firebase Hosting dalla pagina Firebase Hosting del tuo progetto selezionando l'azione Rollback per la versione desiderata.

Al momento non è possibile eseguire il rollback delle versioni delle regole di sicurezza per Firebase Realtime Database, Cloud Storage for Firebase o Cloud Firestore.

Distribuisci servizi Firebase specifici

Se desideri distribuire solo servizi o funzionalità Firebase specifici, puoi utilizzare un elenco separato da virgole in un flag sul comando firebase deploy . Ad esempio, il comando seguente distribuisce il contenuto di Firebase Hosting e le regole di sicurezza di Cloud Storage.

firebase deploy --only hosting,storage

Nella tabella seguente sono elencati i servizi e le funzionalità disponibili per la distribuzione parziale. I nomi nei flag corrispondono alle chiavi nel file di configurazione firebase.json .

Sintassi della bandiera Servizio o funzionalità distribuita
--only hosting Contenuti di hosting Firebase
--only database Regole del database in tempo reale Firebase
--only storage Regole di Cloud Storage per Firebase
--only firestore Regole e indici di Cloud Firestore per tutti i database configurati
--only functions Cloud Functions for Firebase (sono possibili versioni più specifiche di questo flag )

Distribuire funzioni specifiche

Quando si distribuiscono funzioni, è possibile scegliere come target funzioni specifiche. Per esempio:

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

Un'altra opzione è raggruppare le funzioni in gruppi di esportazione nel file /functions/index.js . Il raggruppamento delle funzioni consente di distribuire più funzioni utilizzando un unico comando.

Ad esempio, puoi scrivere le seguenti funzioni per definire un groupA e un groupB :

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

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

In questo esempio, un file functions/groupB.js separato contiene funzioni aggiuntive che definiscono specificamente le funzioni in groupB . Per esempio:

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

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

In questo esempio, puoi distribuire tutte le funzioni groupA eseguendo il comando seguente dalla directory del progetto:

firebase deploy --only functions:groupA

Oppure puoi scegliere come target una funzione specifica all'interno di un gruppo eseguendo il seguente comando:

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

Elimina funzioni

La CLI Firebase supporta i seguenti comandi e opzioni per l'eliminazione delle funzioni precedentemente distribuite:

  • Elimina tutte le funzioni che corrispondono al nome specificato in tutte le regioni:

    firebase functions:delete FUNCTION-1_NAME

  • Elimina una funzione specificata in esecuzione in una regione non predefinita:

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

  • Elimina più di una funzione:

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

  • Elimina un gruppo di funzioni specificato:

    firebase functions:delete GROUP_NAME

  • Ignora la richiesta di conferma:

    firebase functions:delete FUNCTION-1_NAME --force

Configurare attività basate su script di pre-distribuzione e post-distribuzione

È possibile connettere gli script della shell al comando firebase deploy per eseguire attività di pre- o post-distribuzione. Ad esempio, uno script pre-distribuzione potrebbe trascrivere il codice TypeScript in JavaScript e un hook post-distribuzione potrebbe avvisare gli amministratori della distribuzione del nuovo contenuto del sito su Firebase Hosting.

Per configurare gli hook predeploy o postdeploy, aggiungi gli script bash al file di configurazione firebase.json . Puoi definire brevi script direttamente nel file firebase.json oppure puoi fare riferimento ad altri file presenti nella directory del progetto.

Ad esempio, lo script seguente è l'espressione firebase.json per un'attività postdeploy che invia un messaggio Slack al momento della distribuzione riuscita a Firebase Hosting.

"hosting": {
  // ...

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

Il file di script messageSlack.sh risiede nella directory del progetto ed è simile al seguente:

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

È possibile impostare hook predeploy e postdeploy per qualsiasi risorsa che è possibile distribuire . Tieni presente che l'esecuzione firebase deploy attiva tutte le attività di predeploy e postdeploy definite nel file firebase.json . Per eseguire solo le attività associate a uno specifico servizio Firebase, utilizza i comandi di distribuzione parziale .

Sia gli hook predeploy -implementazione che postdeploy stampano l'output standard e i flussi di errore degli script sul terminale. Per i casi di guasto, tenere presente quanto segue:

  • Se un hook di predistribuzione non viene completato come previsto, la distribuzione viene annullata.
  • Se la distribuzione fallisce per qualsiasi motivo, gli hook postdistribuzione non vengono attivati.

Variabili ambientali

All'interno degli script in esecuzione negli hook predeploy e postdeploy, sono disponibili le seguenti variabili di ambiente:

  • $GCLOUD_PROJECT : ID progetto del progetto attivo
  • $PROJECT_DIR : la directory root contenente il file firebase.json
  • $RESOURCE_DIR : (solo per script hosting e functions ) il percorso della directory che contiene le risorse Hosting o Cloud Functions da distribuire

Gestisci più istanze di Realtime Database

Un progetto Firebase può avere più istanze di Firebase Realtime Database . Per impostazione predefinita, i comandi CLI interagiscono con l'istanza del database predefinita .

Tuttavia, puoi interagire con un'istanza di database non predefinita utilizzando il file --instance DATABASE_NAME . I seguenti comandi supportano il flag --instance :

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

Riferimento al comando

Comandi amministrativi della CLI

Comando Descrizione
aiuto Visualizza le informazioni della guida sulla CLI o su comandi specifici.
dentro Associa e configura un nuovo progetto Firebase nella directory corrente. Questo comando crea un file di configurazione firebase.json nella directory corrente.
login Autentica la CLI sul tuo account Firebase. Richiede l'accesso a un browser web.
Per accedere alla CLI in ambienti remoti che non consentono l'accesso a localhost , utilizzare il file --no-localhost indicatore.
login:ci Genera un token di autenticazione da utilizzare in ambienti non interattivi.
disconnettersi Esci dalla CLI dal tuo account Firebase.
aprire Apre un browser per le risorse di progetto rilevanti.
progetti:elenco Elenca tutti i progetti Firebase a cui hai accesso.
utilizzo Imposta il progetto Firebase attivo per la CLI.
Gestisce gli alias del progetto .

Comandi di gestione del progetto

Comando Descrizione
Gestione di progetti Firebase
progetti: aggiungifirebase Aggiunge risorse Firebase a un progetto Google Cloud esistente.
progetti:creare Crea un nuovo progetto Google Cloud, quindi aggiunge le risorse Firebase al nuovo progetto.
progetti:elenco Elenca tutti i progetti Firebase a cui hai accesso.
Gestione delle app Firebase (iOS, Android, Web)
app:crea Crea una nuova app Firebase nel progetto attivo.
app: elenco Elenca le app Firebase registrate nel progetto attivo.
app:sdkconfig Stampa la configurazione dei servizi Google di un'app Firebase.
configurazione:web Deprecato. Utilizza invece apps:sdkconfig e specifica web come argomento della piattaforma.
Stampa la configurazione dei servizi Google di un'app Web Firebase.
Gestione degli hash dei certificati SHA (solo Android)
app:android:sha:crea \
FIREBASE_APP_ID SHA_HASH
Aggiunge l'hash del certificato SHA specificato all'app Android Firebase specificata.
app:android:sha:elimina \
FIREBASE_APP_ID SHA_HASH
Elimina l'hash del certificato SHA specificato dall'app Android Firebase specificata.
app:android:sha:list \
FIREBASE_APP_ID
Elenca gli hash del certificato SHA per l'app Android Firebase specificata.

Distribuzione e sviluppo locale

Questi comandi ti consentono di distribuire e interagire con il tuo sito di hosting Firebase.

Comando Descrizione
distribuire Distribuisce codice e risorse dalla directory del progetto al progetto attivo. Per Firebase Hosting, è richiesto un file di configurazione firebase.json .
servire Avvia un server Web locale con la configurazione di hosting Firebase. Per Firebase Hosting, è richiesto un file di configurazione firebase.json .

Comandi di distribuzione delle app

Comando Descrizione
appdistribution:distribuisci \
--app FIREBASE_APP_ID
Rende la build disponibile ai tester.
appdistribution: tester: aggiungi Aggiunge tester al progetto.
appdistribution:tester:rimuovi Rimuove i tester dal progetto.

Comandi di autenticazione (gestione degli utenti).

Comando Descrizione
autenticazione:esportazione Esporta gli account utente del progetto attivo in un file JSON o CSV. Per maggiori dettagli, fare riferimento alla pagina auth:import e auth:export .
autenticazione: importa Importa gli account utente da un file JSON o CSV nel progetto attivo. Per maggiori dettagli, fare riferimento alla pagina auth:import e auth:export .

Comandi di Cloud Firestore

Comando Descrizione
firetore: posizioni

Elenca le posizioni disponibili per il tuo database Cloud Firestore.

firestore:database:crea DATABASE_ID

Crea un'istanza di database in modalità nativa nel tuo progetto Firebase.

Il comando accetta i seguenti flag:

  • --location <nome regione> per specificare il percorso di distribuzione per il database. Nota che puoi eseguire firebase firestore:locations per elencare le posizioni disponibili. Necessario .
  • --delete-protection <deleteProtectionState> per consentire o impedire l'eliminazione del database specificato. I valori validi sono ENABLED o DISABLED . Il valore predefinito è DISABLED .
  • --point-in-time-recovery <PITRState> per impostare se il ripristino temporizzato è abilitato. I valori validi sono ENABLED o DISABLED . Il valore predefinito è DISABLED . Opzionale.
firestore:database:elenco

Elenca i database nel tuo progetto Firebase.

firestore:database:ottieni DATABASE_ID

Ottieni la configurazione del database per un database specificato nel tuo progetto Firebase.

firestore:database:aggiornamento DATABASE_ID

Aggiorna la configurazione del database di un database specificato nel tuo progetto Firebase.

È richiesto almeno un flag. Il comando accetta i seguenti flag:

  • --delete-protection <deleteProtectionState> per consentire o impedire l'eliminazione del database specificato. I valori validi sono ENABLED o DISABLED . Il valore predefinito è DISABLED .
  • --point-in-time-recovery <PITRState> per impostare se il ripristino temporizzato è abilitato. I valori validi sono ENABLED o DISABLED . Il valore predefinito è DISABLED . Opzionale.
firestore:database:elimina DATABASE_ID

Elimina un database nel tuo progetto Firebase.

firestore:indici

Elenca gli indici per un database nel tuo progetto Firebase.

Il comando accetta il seguente flag:

  • --database DATABASE_ID per specificare il nome del database per il quale elencare gli indici. Se non forniti, gli indici vengono elencati per il database predefinito.
firestore: cancella

Elimina i documenti nel database del progetto attivo. Utilizzando la CLI, puoi eliminare in modo ricorsivo tutti i documenti in una raccolta.

Tieni presente che l'eliminazione dei dati Cloud Firestore con la CLI comporta costi di lettura ed eliminazione. Per ulteriori informazioni, consulta Informazioni sulla fatturazione di Cloud Firestore .

Il comando accetta il seguente flag:

  • --database DATABASE_ID per specificare il nome del database da cui vengono eliminati i documenti. Se non specificato, i documenti vengono eliminati dal database predefinito. Opzionale.

Funzioni Cloud per i comandi Firebase

Comando Descrizione
funzioni:config:clone Clona l'ambiente di un altro progetto nel progetto Firebase attivo.
funzioni:config:get Recupera i valori di configurazione esistenti delle Cloud Functions del progetto attivo.
funzioni:config:imposta Memorizza i valori di configurazione di runtime delle Cloud Functions del progetto attivo.
funzioni:config:unset Rimuove i valori dalla configurazione runtime del progetto attivo.
funzioni: registro Legge i log da Cloud Functions distribuiti.

Per ulteriori informazioni, fare riferimento alla documentazione di configurazione dell'ambiente .

Comandi di Crashlytics

Comando Descrizione
crashlytics:mappingfile:generateid \
--file-risorsa= PATH/TO/ANDROID_RESOURCE.XML
Genera un ID file di mapping univoco nel file di risorse Android (XML) specificato.
crashlytics:mappingfile:caricamento \
--app= FIREBASE_APP_ID \
--resource-file= PATH/TO/ANDROID_RESOURCE.XML \
PATH/TO/MAPPING_FILE.TXT
Carica un file di mappatura compatibile con Proguard (TXT) per questa app e lo associa all'ID del file di mappatura dichiarato nel file di risorse Android (XML) specificato.
crashlytics:simboli:carica \
--app= FIREBASE_APP_ID \
PATH/TO/SYMBOLS
Genera un file di simboli compatibile con Crashlytics per gli arresti anomali della libreria nativa su Android e lo carica sui server Firebase.

Comandi delle estensioni

Comando Descrizione
est Visualizza informazioni su come utilizzare i comandi delle estensioni Firebase.
Elenca le istanze di estensione installate nel progetto attivo.
ext:configura \
EXTENSION_INSTANCE_ID
Riconfigura i valori dei parametri di un'istanza di estensione nel manifest dell'estensione .
ext:info \
PUBLISHER_ID/EXTENSION_ID
Stampa informazioni dettagliate su un'estensione.
ext:installa \
PUBLISHER_ID/EXTENSION_ID
Aggiunge una nuova istanza di un'estensione nel manifest dell'estensione .
est:elenco Elenca tutte le istanze di estensione installate in un progetto Firebase.
Stampa l'ID istanza per ogni interno.
ext:disinstalla \
EXTENSION_INSTANCE_ID
Rimuove un'istanza di estensione dal manifest dell'estensione .
ext:aggiorna \
EXTENSION_INSTANCE_ID
Aggiorna un'istanza di estensione alla versione più recente nel manifest dell'estensione .
ext:esporta Esporta tutte le istanze di estensione installate dal tuo progetto al manifest dell'estensione .

Comandi dell'editore di estensioni

Comando Descrizione
ext:dev:init Inizializza una base di codice scheletro per una nuova estensione nella directory corrente.
ext:dev:lista \
PUBLISHER_ID
Stampa un elenco di tutte le estensioni caricate da un editore.
ext:dev:register Registra un progetto Firebase come progetto editore di estensioni .
ext:dev:deprecato \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
Depreca le versioni dell'estensione che corrispondono al predicato della versione.
Un predicato di versione può essere una singola versione (come 1.0.0 ) o un intervallo di versioni (come >1.0.0 ).
Se non viene fornito alcun predicato di versione, depreca tutte le versioni di tale estensione.
ext:dev:undeprecate \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
Depreca le versioni delle estensioni che corrispondono al predicato della versione.
Un predicato di versione può essere una singola versione (come 1.0.0 ) o un intervallo di versioni (come >1.0.0 ).
Se non viene fornito alcun predicato di versione, depreca tutte le versioni di tale estensione.
ext:dev:carica \
PUBLISHER_ID/EXTENSION_ID
Carica una nuova versione di un'estensione.
ext:dev:utilizzo \
PUBLISHER_ID
Visualizza il numero di installazioni e le metriche di utilizzo per le estensioni caricate da un editore.

Comandi di hosting

Comando Descrizione
hosting:disabilita

Interrompe la gestione del traffico di Firebase Hosting per il progetto Firebase attivo.

L'URL di hosting del tuo progetto visualizzerà il messaggio "Sito non trovato" dopo aver eseguito questo comando.

Gestione dei siti Hosting
hosting Firebase:siti:crea \
SITE_ID

Crea un nuovo sito di hosting nel progetto Firebase attivo utilizzando il SITE_ID specificato

(Facoltativo) Specificare un'app Web Firebase esistente da associare al nuovo sito passando il seguente flag: --app FIREBASE_APP_ID

hosting Firebase: siti: elimina \
SITE_ID

Elimina il sito hosting specificato

La CLI visualizza una richiesta di conferma prima di eliminare il sito.

(Facoltativo) Salta la richiesta di conferma passando i seguenti flag: -f o --force

hosting Firebase: siti: ottieni \
SITE_ID

Recupera informazioni sul sito di hosting specificato

hosting firebase:siti:elenco

Elenca tutti i siti di hosting per il progetto Firebase attivo

Gestione dei canali di anteprima
hosting Firebase:canale:crea \
CHANNEL_ID

Crea un nuovo canale di anteprima nel sito di hosting predefinito utilizzando il CHANNEL_ID specificato

Questo comando non viene distribuito sul canale.

hosting firebase:canale:elimina \
CHANNEL_ID

Elimina il canale di anteprima specificato

Non è possibile eliminare il canale live di un sito.

hosting firebase:canale:distribuzione \
CHANNEL_ID

Distribuisce il contenuto e la configurazione dell'hosting sul canale di anteprima specificato

Se il canale di anteprima non esiste ancora, questo comando crea il canale nel sito di hosting predefinito prima della distribuzione sul canale.

hosting firebase:canale:elenco Elenca tutti i canali (incluso il canale "live") nel sito di hosting predefinito
hosting Firebase:canale:aperto\
CHANNEL_ID
Apre un browser all'URL del canale specificato o restituisce l'URL se l'apertura in un browser non è possibile
Clonazione della versione
hosting Firebase: clone \
SOURCE_SITE_ID : SOURCE_CHANNEL_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

Cloni La versione distribuita più recentemente sul canale "sorgente" specificato sul canale "target" specificato

Questo comando si distribuisce anche sul canale "target" specificato. Se il canale "target" non esiste ancora, questo comando crea un nuovo canale di anteprima nel sito di hosting "target" prima di distribuire sul canale.

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

Clone la versione specificata sul canale "target" specificato

Questo comando si distribuisce anche sul canale "target" specificato. Se il canale "target" non esiste ancora, questo comando crea un nuovo canale di anteprima nel sito di hosting "target" prima di distribuire sul canale.

È possibile trovare la VERSION_ID nella dashboard di hosting della console Firebase.

Comandi di database in tempo reale

Si noti che è possibile creare l'istanza iniziale di database in tempo reale predefinito nella console Firebase o utilizzando il flusso di lavoro General firebase init o il flusso firebase init database .

Una volta create le istanze, è possibile gestirle come discusso in Gestisci più istanze di database in tempo reale .

Comando Descrizione
Database: get Prende i dati dal database del progetto attivo e li visualizza come JSON. Supporta la query su dati indicizzati.
Database: istanze: crea Crea un'istanza di database con un nome di istanza specificato. Accetta l'opzione --location per la creazione di un database in una regione specificata. Per i nomi delle regioni da utilizzare con questa opzione, vedere Seleziona le posizioni per il progetto . Se non esiste alcuna istanza di database per l'attuale progetto, viene richiesto di eseguire il flusso firebase init per creare un'istanza.
Database: istanze: elenco Elenca tutte le istanze di database per questo progetto. Accetta l'opzione --location -locazione per elencare i database in una regione specificata. Per i nomi delle regioni da utilizzare con questa opzione, consultare le posizioni selezionate per il progetto .
Database: profilo Costruisce un profilo delle operazioni nel database del progetto attivo. Per maggiori dettagli, consultare i tipi di operazione del database in tempo reale .
Database: push Spinge nuovi dati a un elenco in una posizione specificata nel database del progetto attivo. Prende input da un file, stdin o un argomento della riga di comando.
Database: rimuovere Elimina tutti i dati in una posizione specificata nel database del progetto attivo.
Database: set Sostituisce tutti i dati in una posizione specificata nel database del progetto attivo. Prende input da un file, stdin o un argomento della riga di comando.
Database: aggiornamento Esegue un aggiornamento parziale in una posizione specificata nel database del progetto attivo. Prende input da un file, stdin o un argomento della riga di comando.

Comandi di configurazione remoto

Comando Descrizione
RemoteConfig: versioni: elenco \
-Limit NUMBER_OF_VERSIONS
Elenca le dieci versioni più recenti del modello. Specificare 0 per restituire tutte le versioni esistenti o di passare facoltativamente l'opzione --limit per limitare il numero di versioni da restituire.
RemoteConfig: get \
--v, versione_number VERSION_NUMBER
--o, FILENAME output
Ottiene il modello per versione (impostazione predefinita all'ultima versione) e subita i gruppi di parametri, i parametri e i nomi delle condizioni e la versione in una tabella. Facoltativamente, è possibile scrivere l'output su un file specificato con -o, FILENAME .
RemoteConfig: rollback \
--v, versione_number VERSION_NUMBER
--forza
Rolli indietro Modello di configurazione remoto su un numero di versione precedente specificato o impostazione predefinita nella versione precedente immediata (versione corrente -1). A meno che --force non venga approvato, richiede Y/N prima di procedere al rollback.