Riferimento per l'interfaccia a riga di comando di Firebase

L'interfaccia a riga di comando di Firebase (GitHub) fornisce una serie di strumenti per la gestione, la visualizzazione e il deployment nei progetti Firebase.

Prima di utilizzare l'interfaccia a riga di comando di Firebase, configura un progetto Firebase.

Configura o aggiorna l'interfaccia a riga di comando

Installa l'interfaccia a riga di comando di Firebase

Puoi installare l'interfaccia a riga di comando di Firebase utilizzando un metodo corrispondente al tuo sistema operativo, al tuo livello di esperienza e/o al caso d'uso. Indipendentemente dall'installazione dell'interfaccia a riga di comando, puoi accedere alle stesse funzionalità e al comando firebase.

Windows macOS Linux

Windows

Puoi installare l'interfaccia a riga di comando di Firebase per Windows utilizzando una delle seguenti opzioni:

Opzione Descrizione Consigliata per...
programma binario autonomo Scarica il programma binario autonomo per l'interfaccia a riga di comando. Dopodiché potrai accedere all'eseguibile per aprire una shell in cui eseguire il comando firebase. Nuovi sviluppatori

Sviluppatori che non utilizzano o non hanno dimestichezza con Node.js
n/m Utilizza npm (il gestore di pacchetti dei nodi) per installare l'interfaccia a riga di comando e abilitare il comando firebase disponibile a livello globale. Sviluppatori che utilizzano Node.js

programma binario autonomo

Per scaricare ed eseguire il programma binario per l'interfaccia a riga di comando di Firebase, segui questi passaggi:

  1. Scarica il programma binario dell'interfaccia a riga di comando di Firebase per Windows.

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

  3. Continua per accedere e testare l'interfaccia a riga di comando.

npm

Per utilizzare npm (Gestione pacchetti dei nodi) al fine di installare l'interfaccia a riga di comando di Firebase, segui questi passaggi:

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

  2. Installa l'interfaccia a riga di comando di Firebase tramite npm eseguendo il comando seguente:

    npm install -g firebase-tools

    Questo comando consente il comando firebase disponibile a livello globale.

  3. Continua per accedere e testare l'interfaccia a riga di comando.

macOS o Linux

Puoi installare l'interfaccia a riga di comando di Firebase per macOS o Linux utilizzando una delle seguenti opzioni:

Opzione Descrizione Consigliata per...
script di installazione automatica Esegui un singolo comando che rileva automaticamente il sistema operativo, scarica la release dell'interfaccia a riga di comando più recente e abilita il comando firebase disponibile a livello globale. Nuovi sviluppatori

Sviluppatori che non utilizzano o non hanno dimestichezza con Node.js

Deployment automatici in un ambiente CI/CD
programma binario autonomo Scarica il programma binario autonomo per l'interfaccia a riga di comando. Quindi, puoi configurare ed eseguire il programma binario in base al tuo flusso di lavoro. Flussi di lavoro completamente personalizzabili mediante l'interfaccia a riga di comando
n/m Utilizza npm (il gestore di pacchetti dei nodi) per installare l'interfaccia a riga di comando e abilitare il comando firebase disponibile a livello globale. Sviluppatori che utilizzano Node.js

script di installazione automatica

Per installare l'interfaccia a riga di comando di Firebase utilizzando lo script di installazione automatica, segui questi passaggi:

  1. Esegui il seguente comando cURL:

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

    Questo script rileva automaticamente il sistema operativo, scarica la release più recente dell'interfaccia a riga di comando di Firebase e attiva il comando firebase disponibile a livello globale.

  2. Continua per accedere e testare l'interfaccia a riga di comando.

Per altri esempi e dettagli sullo script di installazione automatica, consulta il codice sorgente dello script alla pagina firebase.tools.

programma binario autonomo

Per scaricare ed eseguire il programma binario per l'interfaccia a riga di comando di Firebase specifico per il tuo sistema operativo, segui questi passaggi:

  1. Scarica il programma binario dell'interfaccia a riga di comando di Firebase per il tuo sistema operativo: macOS | Linux

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

    1. Rendi eseguibile il programma binario eseguendo chmod +x ./firebase_tools.
    2. Aggiungi il percorso del programma binario al tuo PERCORSO.
  3. Continua per accedere e testare l'interfaccia a riga di comando.

npm

Per utilizzare npm (Gestione pacchetti dei nodi) per installare l'interfaccia a riga di comando di Firebase, segui questi passaggi:

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

  2. Installa l'interfaccia a riga di comando di Firebase tramite npm eseguendo il comando seguente:

    npm install -g firebase-tools

    Questo comando consente il comando firebase disponibile a livello globale.

  3. Continua per accedere e testare l'interfaccia a riga di comando.

Accedi e testa l'interfaccia a riga di comando di Firebase

Dopo aver installato l'interfaccia a riga di comando, devi eseguire l'autenticazione. Puoi quindi confermare l'autenticazione elencando i tuoi progetti Firebase.

  1. Accedi a Firebase con il tuo Account Google eseguendo questo comando:

    firebase login

    Questo comando connette la tua macchina locale a Firebase e ti permette di accedere ai tuoi progetti Firebase.

  2. Verifica che l'interfaccia a riga di comando sia installata correttamente e accedi al tuo account elencando i tuoi progetti Firebase. Esegui questo comando:

    firebase projects:list

    L'elenco visualizzato deve corrispondere ai progetti Firebase elencati nella Console Firebase.

Aggiorna all'ultima versione dell'interfaccia a riga di comando

In genere, vuoi utilizzare la versione più aggiornata dell'interfaccia a riga di comando di Firebase.

Le modalità di aggiornamento della versione dell'interfaccia a riga di comando dipendono dal sistema operativo e da come l'hai installata.

Windows

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

macOS

  • 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: esecuzione 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: esecuzione npm install -g firebase-tools

Utilizza l'interfaccia a riga di comando con i sistemi CI

L'interfaccia a riga di comando di Firebase richiede un browser per completare l'autenticazione, ma l'interfaccia a riga di comando è completamente compatibile con CI e altri ambienti headless.

  1. Su una macchina con un browser, installa l'interfaccia a riga di comando di Firebase.

  2. Avvia il processo di accesso eseguendo questo comando:

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

  4. Stampa un nuovo token di aggiornamento. L'attuale sessione dell'interfaccia a riga di comando non sarà interessata.

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

  6. Utilizza questo token durante l'esecuzione dei comandi firebase. Puoi utilizzare una delle due opzioni seguenti:

    • Opzione 1: archivia il token come variabile di ambiente FIREBASE_TOKEN. Il 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 dei token: flag, variabile di ambiente, progetto Firebase desiderato.

Inizializzare un progetto Firebase

Molte attività comuni eseguite utilizzando l'interfaccia a riga di comando, come il deployment in un progetto Firebase, richiedono una directory del progetto. Puoi creare una directory del progetto utilizzando il comando firebase init. In genere una directory del progetto si trova nella stessa directory della directory radice del controllo del codice sorgente e, dopo l'esecuzione di firebase init, la directory contiene un file di configurazione di firebase.json.

Per inizializzare un nuovo progetto Firebase, esegui questo comando dalla directory dell'app:

firebase init

Il comando firebase init illustra la procedura di configurazione della directory del progetto e di alcuni prodotti Firebase. Durante l'inizializzazione del progetto, l'interfaccia a riga di comando di Firebase richiede di completare le attività seguenti:

  • Seleziona i prodotti Firebase che vuoi configurare nel progetto Firebase.

    Questo passaggio richiede di impostare le configurazioni per file specifici per i prodotti selezionati. Per ulteriori dettagli su queste configurazioni, consulta la documentazione del prodotto specifico (ad esempio, Hosting). Tieni presente che puoi sempre eseguire firebase init in un secondo momento per configurare altri prodotti Firebase.

  • Seleziona un progetto Firebase predefinito.

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

    È anche possibile associare più progetti Firebase (ad esempio un progetto di gestione temporanea e un progetto di produzione) alla stessa directory di progetto.

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

  • Un file di configurazione firebase.json in cui sono elencate le configurazioni del progetto.

  • Un file .firebaserc in cui sono archiviati gli aliases del tuo progetto.

Il file firebase.json

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

Il file firebase.json è necessario per eseguire il deployment degli asset con l'interfaccia a riga di comando di Firebase perché specifica i file e le impostazioni della directory del progetto di cui viene eseguito il deployment nel progetto Firebase. Poiché alcune impostazioni possono essere definite nella directory del progetto o nella console Firebase, assicurati di risolvere eventuali conflitti di deployment.

Puoi configurare la maggior parte delle opzioni di Firebase Hosting direttamente nel file firebase.json. Tuttavia, per altri servizi di Firebase di cui è possibile eseguire il deployment con l'interfaccia a riga di comando di 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 configurare hook pre- o post-deployment 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 le opzioni di origine e lint TypeScript 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"
    ]
  }
}

Mentre firebase.json viene 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 file firebase.json conterrà una singola chiave firestore corrispondente al database predefinito del progetto, come mostrato sopra.

Se il progetto contiene più database Cloud Firestore, modifica il file firebase.json per associare diverse regole di sicurezza di Cloud Firestore e file di origine degli indici del database a ogni database. Modifica il file con un array JSON, con una voce per ogni 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 al momento del deployment

Al momento del deployment della funzione, l'interfaccia a riga di comando specifica automaticamente un elenco di file nella directory functions da ignorare. Questo impedisce il deployment nel backend di file estranei che potrebbero aumentare le dimensioni dei dati del deployment.

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

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

Se aggiungi valori personalizzati per ignore in firebase.json, assicurati di conservare (o di aggiungere, se mancante) l'elenco di file mostrato sopra.

Gestisci gli alias di progetto

Puoi associare più progetti Firebase alla stessa directory di progetti. Ad esempio, potresti voler utilizzare un progetto Firebase per la gestione temporanea e un altro per la produzione. Se utilizzi ambienti di progetto diversi, puoi verificare le modifiche prima del deployment 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 di un progetto su un altro progetto Firebase, pur utilizzando la stessa directory del progetto, esegui questo comando dalla directory del progetto:

firebase use --add

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

Utilizza alias di progetto

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

Comando Descrizione
firebase use Visualizza un elenco degli alias attualmente definiti per la directory del progetto
firebase use \
PROJECT_ID|ALIAS
Indirizza tutti i comandi da eseguire sul progetto Firebase specificato.
L'interfaccia a riga di comando utilizza questo progetto come "progetto attivo" al momento.
firebase use --clear Cancella il progetto attivo.

Esegui firebase use PROJECT_ID|ALIAS per impostare un nuovo progetto attivo prima di eseguire altri comandi dell'interfaccia a riga di comando.

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

Puoi eseguire l'override di ciò che viene utilizzato come progetto attualmente attivo passando il flag --project con qualsiasi comando dell'interfaccia a riga di comando. Ad esempio, puoi impostare l'interfaccia a riga di comando in modo che venga eseguita su un progetto Firebase a cui hai assegnato l'alias staging. Se vuoi 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, devi controllare il file .firebaserc nel controllo del codice sorgente per consentire al tuo team di condividere alias di progetto. Tuttavia, per i progetti open source o i modelli di avvio, generalmente non dovresti controllare il file .firebaserc.

Se hai un progetto di sviluppo solo per te, puoi passare il flag --project con ogni comando o eseguire firebase use PROJECT_ID senza assegnare un alias al progetto Firebase.

Gestisci e testa il tuo progetto Firebase a livello locale

Puoi visualizzare e testare il progetto Firebase su URL ospitati localmente prima di eseguirne il deployment in produzione. Se vuoi testare solo determinate funzionalità, puoi utilizzare un elenco separato da virgole in un flag nel comando firebase serve.

Esegui questo comando dalla directory principale della directory del progetto locale se vuoi svolgere una delle seguenti attività:

  • Visualizzare i contenuti statici per la tua app ospitata da Firebase.
  • Utilizza Cloud Functions per generare contenuti dinamici per Firebase Hosting e vuoi utilizzare le funzioni HTTP di produzione (deployment) per emulare Hosting su un URL locale.
firebase serve --only hosting

Emula il tuo progetto utilizzando le funzioni HTTP locali

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

  • Per emulare le funzioni HTTP e l'hosting per i test sugli URL locali, utilizza uno dei seguenti comandi:

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

    firebase serve --only functions

Esegui test da altri dispositivi locali

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

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

Esegui il deployment in un progetto Firebase

L'interfaccia a riga di comando di Firebase gestisce il deployment di codice e asset nel progetto Firebase, tra cui:

  • Nuove release dei tuoi siti Firebase Hosting
  • Funzioni Cloud Functions for Firebase nuove, aggiornate o esistenti
  • Regole per Firebase Realtime Database
  • Regole per Cloud Storage for Firebase
  • Regole per Cloud Firestore
  • Indici per Cloud Firestore

Per eseguire il deployment in un progetto Firebase, esegui questo comando dalla directory del progetto:

firebase deploy

Facoltativamente, puoi aggiungere un commento a ciascuno dei tuoi deployment. Questo commento verrà visualizzato con le altre informazioni sul deployment nella pagina di Firebase Hosting del progetto. Ad esempio:

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

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

  • Per eseguire il deployment delle risorse da una directory del progetto, la directory del progetto deve avere un file firebase.json. Questo file viene creato automaticamente dal comando firebase init.

  • Per impostazione predefinita, firebase deploy crea una release per tutte le risorse di cui è possibile eseguire il deployment nella directory del progetto. Per eseguire il deployment di funzionalità o servizi Firebase specifici, utilizza il deployment parziale.

Conflitti di deployment per le regole di sicurezza

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

Un'altra opzione per evitare conflitti di deployment è utilizzare il deployment parziale e definire le regole solo nella console di Firebase.

Quote di deployment

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

Esegui il rollback di un deployment

Puoi eseguire il rollback di un deployment di Firebase Hosting dalla pagina di Firebase Hosting del tuo progetto selezionando l'azione Rollback per la release desiderata.

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

Esegui il deployment di servizi Firebase specifici

Se vuoi eseguire il deployment solo di funzionalità o servizi Firebase specifici, puoi utilizzare un elenco separato da virgole in un flag nel comando firebase deploy. Ad esempio, il seguente comando esegue il deployment dei contenuti di Firebase Hosting e delle regole di sicurezza di Cloud Storage.

firebase deploy --only hosting,storage

La seguente tabella elenca i servizi e le funzionalità disponibili per il deployment parziale. I nomi nei flag corrispondono alle chiavi nel file di configurazione di firebase.json.

Sintassi dei flag Servizio o funzionalità di cui è stato eseguito il deployment
--only hosting Contenuti di Firebase Hosting
--only database Regole di Firebase Realtime Database
--only storage Regole di Cloud Storage for Firebase
--only firestore Regole e indici di Cloud Firestore e per tutti i database configurati
--only functions Cloud Functions for Firebase (sono possibili versioni più specifiche di questo flag)

Esegui il deployment di funzioni specifiche

Durante il deployment di funzioni, puoi scegliere come target funzioni specifiche. Ad 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. Le funzioni di raggruppamento consentono di eseguire il deployment di più funzioni con un solo 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 in modo specifico le funzioni in groupB. Ad 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 eseguire il deployment di tutte le funzioni groupA eseguendo il comando seguente dalla directory del progetto:

firebase deploy --only functions:groupA

In alternativa, puoi scegliere come target una funzione specifica all'interno di un gruppo eseguendo questo comando:

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

Eliminazione funzioni

L'interfaccia a riga di comando di Firebase supporta i seguenti comandi e opzioni per eliminare le funzioni di cui è stato eseguito il deployment in precedenza:

  • 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

Configura attività basate su script pre e post-deployment

Puoi connettere gli script shell al comando firebase deploy per eseguire attività pre o post-deployment. Ad esempio, uno script pre-deployment potrebbe traspire il codice TypeScript in JavaScript e un hook post-deployment potrebbe informare gli amministratori della nuova distribuzione di contenuti del sito su Firebase Hosting.

Per impostare hook pre o post-deployment, aggiungi script bash al file di configurazione di firebase.json. Puoi definire brevi script direttamente nel file firebase.json oppure fare riferimento ad altri file nella directory del progetto.

Ad esempio, lo script seguente è l'espressione firebase.json per un'attività postdeploy che invia un messaggio Slack dopo il deployment di Firebase Hosting.

"hosting": {
  // ...

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

Il file di script messageSlack.sh si trova nella directory del progetto e ha il seguente aspetto:

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

Puoi configurare hook predeploy e postdeploy per qualsiasi asset di cui puoi eseguire il deployment. Tieni presente che l'esecuzione di firebase deploy attiva tutte le attività pre e post-deployment definite nel file firebase.json. Per eseguire solo quelle attività associate a uno specifico servizio Firebase, utilizza i comandi di deployment parziali.

Entrambi gli hook predeploy e postdeploy stampano l'output standard e i flussi di errore degli script al terminale. In caso di errore, tieni presente quanto segue:

  • Se un hook di pre-deployment non viene completato come previsto, il deployment viene annullato.
  • Se per qualsiasi motivo il deployment non riesce, gli hook post-deployment non vengono attivati.

Variabili di ambiente

All'interno degli script in esecuzione negli hook pre-deployment e post-deployment, sono disponibili le seguenti variabili di ambiente:

  • $GCLOUD_PROJECT: l'ID progetto del progetto attivo
  • $PROJECT_DIR: la directory radice contenente il file firebase.json
  • $RESOURCE_DIR: (solo per gli script hosting e functions) la posizione della directory che contiene le risorse Hosting o Cloud Functions di cui eseguire il deployment

Gestisci più istanze di Realtime Database

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

Tuttavia, puoi interagire con un'istanza di database non predefinita utilizzando il flag --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 comando

Comandi amministrativi dell'interfaccia a riga di comando

Comando Descrizione
guida Visualizza le informazioni della guida sull'interfaccia a riga di comando o su comandi specifici.
init Associa e configura un nuovo progetto Firebase nella directory attuale. Questo comando crea un file di configurazione di firebase.json nella directory attuale.
login Autentica l'interfaccia a riga di comando nel tuo account Firebase. Richiede l'accesso a un browser web.
Per accedere all'interfaccia a riga di comando in ambienti remoti che non consentono l'accesso a localhost, utilizza il flag --no-localhost.
login:ci Genera un token di autenticazione da utilizzare in ambienti non interattivi.
esci Disconnette l'interfaccia a riga di comando dal tuo account Firebase.
apri Apre un browser per le risorse di progetto pertinenti.
projects:list Elenca tutti i progetti Firebase a cui hai accesso.
utilizzo Imposta il progetto Firebase attivo per l'interfaccia a riga di comando.
Gestisce gli alias di progetto.

Comandi di gestione dei progetti

Comando Descrizione
Gestione dei progetti Firebase
projects:addfirebase Aggiunge risorse Firebase a un progetto Google Cloud esistente.
projects:create Crea un nuovo progetto Google Cloud e aggiunge le risorse Firebase al nuovo progetto.
projects:list Elenca tutti i progetti Firebase a cui hai accesso.
Gestione delle app Firebase (iOS, Android, web)
apps:creazione Crea una nuova app Firebase nel progetto attivo.
apps:list Elenca le app Firebase registrate nel progetto attivo.
apps:sdkconfig. Stampa la configurazione dei servizi Google di un'app Firebase.
setup:web Obsoleta. 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)
apps:android:sha:create \
FIREBASE_APP_ID SHA_HASH
Aggiunge l'hash del certificato SHA specificato all'app Firebase per Android specificata.
apps:android:sha:delete \
FIREBASE_APP_ID SHA_HASH
Elimina l'hash del certificato SHA specificato dall'app Firebase per Android specificata.
apps:android:sha:list \
FIREBASE_APP_ID
Elenca gli hash del certificato SHA per l'app Firebase per Android specificata.

Implementazione e sviluppo locale

Questi comandi ti consentono di eseguire il deployment e interagire con il tuo sito Firebase Hosting.

Comando Descrizione
deploy Esegue il deployment del codice e degli asset dalla directory del progetto al progetto attivo. Per Firebase Hosting, è richiesto un file di configurazione firebase.json.
pubblicare Avvia un server web locale con la configurazione di Firebase Hosting. Per Firebase Hosting, è richiesto un file di configurazione firebase.json.

Comandi App Distribution

Comando Descrizione
appdistribution:Distribuzione \
--app FIREBASE_APP_ID
Rende la build disponibile ai tester.
appdistribution:testers:add Aggiunge tester al progetto.
appdistribution:testers:remove Rimuove i tester dal progetto.

Comandi di autenticazione (gestione utenti)

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

Comandi Cloud Firestore

Comando Descrizione
firestore:locations

Elenca le località disponibili per il tuo database Cloud Firestore.

firestore:databases:create DATABASE_ID

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

Il comando accetta i seguenti flag:

  • --location <region name> per specificare la località di deployment del database. Tieni presente che puoi eseguire firebase firestore:locations per elencare le località disponibili. Obbligatorio.
  • --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 attivare il recupero point-in-time. I valori validi sono ENABLED o DISABLED. Il valore predefinito è DISABLED. Campo facoltativo.
firestore:databases:list

Elenca i database nel tuo progetto Firebase.

firestore:databases:get DATABASE_ID

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

firestore:databases:update DATABASE_ID

Aggiorna la configurazione di un database specificato nel 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 attivare il recupero point-in-time. I valori validi sono ENABLED o DISABLED. Il valore predefinito è DISABLED. Campo facoltativo.
firestore:databases:delete DATABASE_ID

Eliminare un database nel progetto Firebase.

firestore:indexes

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 specificato, gli indici sono elencati per il database predefinito.
firestore:delete

Elimina i documenti presenti nel database del progetto attivo. Utilizzando l'interfaccia a riga di comando, puoi eliminare in modo ricorsivo tutti i documenti di una raccolta.

Tieni presente che l'eliminazione dei dati di Cloud Firestore con l'interfaccia a riga di comando comporta costi di lettura ed eliminazione. Per maggiori 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. Campo facoltativo.

Comandi Cloud Functions for Firebase

Comando Descrizione
functions:config:clone Clona l'ambiente di un altro progetto nel progetto Firebase attivo.
functions:config:get Recupera i valori di configurazione esistenti delle funzioni Cloud Functions del progetto attivo.
functions:config:set Archivia i valori di configurazione del runtime delle funzioni Cloud Functions del progetto attivo.
functions:config:unset Rimuove i valori dalla configurazione di runtime del progetto attivo.
functions:log Legge i log dalle funzioni Cloud Functions di cui è stato eseguito il deployment.

Per ulteriori informazioni, consulta la documentazione sulla configurazione dell'ambiente.

Comandi Crashlytics

Comando Descrizione
crashlytics:mappingfile:generateid \
--resource-file=PATH/TO/ANDROID_RESOURCE.XML
Genera un ID file di mapping univoco nel file di risorse Android (XML) specificato.
crashlytics:mappingfile:upload \
--app=FIREBASE_APP_ID \
--resource-file=PATH/TO/ANDROID_RESOURCE.XML \
PATH/TO/MAPPING_FILE.TXT
Carica un file di mapping (TXT) compatibile con Proguard per questa app e lo associa all'ID file di mappatura dichiarato nel file di risorse Android (XML) specificato.
crashlytics:symbols: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
ext Visualizza le informazioni su come utilizzare i comandi di Firebase Extensions.
Elenca le istanze delle estensioni installate nel progetto attivo.
ext:configura \
EXTENSION_INSTANCE_ID
Riconfigura i valori parametro di un'istanza di estensione nel manifest delle estensioni.
ext:info \
PUBLISHER_ID/EXTENSION_ID
Consente di stampare informazioni dettagliate su un'estensione.
ext:install \
PUBLISHER_ID/EXTENSION_ID
Aggiunge una nuova istanza di un'estensione nel manifest dell'estensione.
ext:elenco Elenca tutte le istanze delle estensioni installate in un progetto Firebase.
Stampa l'ID istanza per ogni estensione.
ext:disinstallazione \
EXTENSION_INSTANCE_ID
Rimuove un'istanza di estensione dal manifest delle estensioni.
ext:aggiornamento \
EXTENSION_INSTANCE_ID
Aggiorna l'istanza di un'estensione alla versione più recente nel manifest delle estensioni.
ext:export Esporta tutte le istanze delle estensioni installate dal tuo progetto al manifest delle estensioni.

Comandi publisher delle estensioni

Comando Descrizione
ext:dev:init Inizializza uno scheletro di codebase per una nuova estensione nella directory corrente.
ext:dev:list \
PUBLISHER_ID
Stampa un elenco di tutte le estensioni caricate da un publisher.
ext:dev:register Registra un progetto Firebase come progetto publisher di estensioni.
ext:dev:deprecate \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
Depreca le versioni dell'estensione che corrispondono al predicato di versione.
Un predicato di versione può essere una singola versione (ad esempio 1.0.0) o un intervallo di versioni (ad esempio >1.0.0).
Se non viene fornito alcun predicato di versione, tutte le versioni dell'estensione verranno ritirate.
ext:dev:undeprecate \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
Annulla deprecazione delle versioni dell'estensione che corrispondono al predicato della versione.
Un predicato di versione può essere una singola versione (ad esempio 1.0.0) o un intervallo di versioni (ad esempio >1.0.0).
Se non viene fornito alcun predicato di versione, tutte le versioni dell'estensione vengono annullate.
ext:dev:upload \
PUBLISHER_ID/EXTENSION_ID
Carica una nuova versione di un'estensione.
ext:dev:usage \
PUBLISHER_ID
Mostra il numero di installazioni e le metriche di utilizzo per le estensioni caricate da un publisher.

Comandi di hosting

Comando Descrizione
hosting:disable

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

Dopo l'esecuzione di questo comando, l'URL Hosting del progetto mostrerà un messaggio "Sito non trovato".

Gestione di siti Hosting
firebase hosting:sites:create \
SITE_ID

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

(Facoltativo) Specifica un'app web Firebase esistente da associare al nuovo sito trasmettendo il seguente flag: --app FIREBASE_APP_ID

firebase hosting:sites:delete \
SITE_ID

Elimina il sito Hosting specificato

L'interfaccia a riga di comando mostra una richiesta di conferma prima di eliminare il sito.

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

firebase hosting:sites:get \
SITE_ID

Recupera le informazioni sul sito Hosting specificato

firebase hosting:sites:list

Elenca tutti i siti di Hosting per il progetto Firebase attivo

Gestione dei canali in anteprima
firebase hosting:channel:create \
CHANNEL_ID

Crea un nuovo canale di anteprima nel sito Hosting default utilizzando il CHANNEL_ID specificato

Il deployment di questo comando non viene eseguito sul canale.

firebase hosting:channel:delete \
CHANNEL_ID

Elimina il canale di anteprima specificato

Non puoi eliminare il canale in diretta di un sito.

firebase hosting:channel:deploy \
CHANNEL_ID

Esegue il deployment dei contenuti e della configurazione di Hosting nel canale di anteprima specificato

Se il canale di anteprima non esiste ancora, questo comando crea il canale nel sito di Hosting default prima di eseguire il deployment sul canale.

firebase hosting:channel:list Elenca tutti i canali (incluso il canale "Dal vivo") nel sito di Hosting predefinito.
firebase hosting:channel:open \
CHANNEL_ID
Apre un browser all'URL del canale specificato o restituisce l'URL se non è possibile aprirlo in un browser
Clonazione della versione
firebase hosting:clone \
SOURCE_SITE_ID:SOURCE_CHANNEL_ID \
TARGET_SITE_ID:TARGET_CHANNEL_ID

Clona la versione di cui è stato eseguito il deployment più di recente sul canale "di origine" specificato nel canale "target" specificato

Inoltre, questo comando esegue il deployment nel 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 eseguire il deployment nel canale.

firebase hosting:clone \
SOURCE_SITE_ID:@VERSION_ID \
TARGET_SITE_ID:TARGET_CHANNEL_ID

Clona la versione specificata nel canale "target" specificato

Inoltre, questo comando esegue il deployment nel 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 eseguire il deployment nel canale.

Puoi trovare VERSION_ID nella dashboard di hosting della console Firebase.

Comandi Realtime Database

Tieni presente che puoi creare l'istanza di Realtime Database iniziale e predefinita nella console Firebase oppure utilizzando il flusso di lavoro firebase init generale o lo specifico flusso firebase init database.

Una volta create le istanze, puoi gestirle come descritto in Gestire più istanze di Realtime Database.

Comando Descrizione
database:get Recupera i dati dal database del progetto attivo e li visualizza in formato JSON. Supporta l'esecuzione di query sui dati indicizzati.
database:instances:create Crea un'istanza di database con un nome istanza specificato. Accetta l'opzione --location per creare un database in una regione specificata. Per i nomi delle regioni da utilizzare con questa opzione, consulta Selezionare le località per il progetto. Se non esiste alcuna istanza di database per il progetto attuale, ti viene chiesto di eseguire il flusso firebase init per creare un'istanza.
database:instances:list Elenca tutte le istanze di database per questo progetto. Accetta l'opzione --location per elencare i database in una regione specificata. Per i nomi delle regioni da utilizzare con questa opzione, consulta Selezionare le località per il progetto.
database:profilo Crea un profilo delle operazioni sul database del progetto attivo. Per maggiori dettagli, consulta Tipi di operazioni di Realtime Database.
database:push Esegue il push dei nuovi dati a un elenco in una posizione specificata nel database del progetto attivo. Recupera l'input da un file, da STDIN o da un argomento della riga di comando.
database:rimuovi 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. Recupera l'input da un file, da un STDIN o da un argomento della riga di comando.
database:aggiornamento Esegue un aggiornamento parziale in una posizione specificata nel database del progetto attivo. Recupera l'input da un file, da STDIN o da un argomento della riga di comando.

Comandi Remote Config

Comando Descrizione
remoteconfig:versions:list \
--limit NUMBER_OF_VERSIONS
Elenca le dieci versioni più recenti del modello. Specifica 0 per restituire tutte le versioni esistenti o, facoltativamente, passa l'opzione --limit per limitare il numero di versioni da restituire.
remoteconfig:get \
--v, numero_versione VERSION_NUMBER
--o, output FILENAME
Restituisce il modello in base alla versione (il valore predefinito è la versione più recente) e restituisce in una tabella i gruppi di parametri, i parametri, i nomi delle condizioni e la versione. Se vuoi, puoi scrivere l'output in un file specificato con -o, FILENAME.
remoteconfig:rollback \
--v, numero_versione VERSION_NUMBER
--force
Esegue il rollback del modello Remote Config a un numero di versione precedente specificato o esegue il rollback alla versione precedente immediatamente precedente (versione corrente -1). A meno che non venga passato --force, richiede Y/N prima di procedere con il rollback.