L'interfaccia a riga di comando Firebase (GitHub) fornisce una serie di strumenti per gestire, visualizzare ed eseguire il deployment nei progetti Firebase.
Prima di utilizzare la CLI Firebase, configura un progetto Firebase.
Configurare o aggiornare la CLI
Installa la CLI Firebase
Puoi installare la CLI Firebase utilizzando un metodo adatto al tuo sistema operativo, al tuo livello di esperienza e/o al tuo caso d'uso. Indipendentemente da come installi l'interfaccia a riga di comando, hai accesso alle stesse funzionalità e al comando firebase
.
Windows
Puoi installare la CLI Firebase per Windows utilizzando una delle seguenti opzioni:
Opzione | Descrizione | Consigliati per… |
---|---|---|
standalone binary | Scarica il file binario autonomo per la CLI. Poi puoi accedere
all'eseguibile per aprire una shell in cui puoi eseguire il
comando firebase .
|
Nuovi sviluppatori Sviluppatori che non utilizzano o non conoscono Node.js |
npm | Utilizza npm (Node Package Manager) per installare la CLI e attivare
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:
Scarica il binario della CLI Firebase per Windows.
Accedi al file binario per aprire una shell in cui puoi eseguire il comando
firebase
.Continua per accedere e testare la CLI.
npm
Per utilizzare npm
(Node Package Manager) per installare
l'interfaccia a riga di comando Firebase, segui questi passaggi:
Installa Node.js utilizzando nvm-windows (Node Version Manager). L'installazione di Node.js installa automaticamente gli strumenti di comando
npm
.Installa la CLI Firebase tramite
npm
eseguendo il seguente comando:npm install -g firebase-tools
Questo comando attiva il comando
firebase
disponibile a livello globale.Continua per accedere e testare la CLI.
macOS o Linux
Puoi installare la CLI Firebase per macOS o Linux utilizzando una delle seguenti opzioni:
Opzione | Descrizione | Consigliati per… |
---|---|---|
script di installazione automatico | Esegui un singolo comando che rileva automaticamente il sistema operativo,
scarica l'ultima release della CLI e poi attiva il comando firebase disponibile a livello globale.
|
Nuovi sviluppatori Sviluppatori che non utilizzano o non conoscono Node.js Deployment automatizzati in un ambiente CI/CD |
standalone binary | Scarica il file binario autonomo per la CLI. Poi puoi configurare ed eseguire il binario in base al tuo workflow. | Workflow completamente personalizzabili utilizzando la CLI |
npm | Utilizza npm (Node Package Manager) per installare la CLI e attivare
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, segui questi passaggi:
Esegui questo comando cURL:
curl -sL https://firebase.tools | bash
Questo script rileva automaticamente il sistema operativo, scarica l'ultima release della CLI Firebase e poi attiva il comando
firebase
disponibile a livello globale.Continua per accedere e testare la CLI.
Per altri esempi e dettagli sullo script di installazione automatica, consulta il codice sorgente dello script all'indirizzo firebase.tools.
binario autonomo
Per scaricare ed eseguire il binario per la CLI Firebase specifica per il tuo sistema operativo, segui questi passaggi:
Scarica il binario della CLI Firebase per il tuo sistema operativo: macOS | Linux
(Facoltativo) Configura il comando
firebase
disponibile a livello globale.- Rendi eseguibile il file binario eseguendo
chmod +x ./firebase_tools
. - Aggiungi il percorso del binario a PATH.
- Rendi eseguibile il file binario eseguendo
Continua per accedere e testare la CLI.
npm
Per utilizzare npm
(Node Package Manager) per installare la CLI Firebase,
segui questi passaggi:
Installa Node.js utilizzando nvm (Node Version Manager).
L'installazione di Node.js installa automaticamente gli strumenti a riga di comandonpm
.Installa la CLI Firebase tramite
npm
eseguendo il seguente comando:npm install -g firebase-tools
Questo comando attiva il comando
firebase
disponibile a livello globale.Continua per accedere e testare la CLI.
Accedi e testa la CLI Firebase
Dopo aver installato la CLI, devi autenticarti. A questo punto, puoi confermare l'autenticazione elencando i tuoi progetti Firebase.
Accedi a Firebase utilizzando il tuo Account Google eseguendo il seguente comando:
firebase login
Questo comando connette la tua macchina locale a Firebase e ti concede l'accesso ai tuoi progetti Firebase.
Verifica che la CLI sia installata correttamente e acceda al tuo account elencando i tuoi progetti Firebase. Esegui questo comando:
firebase projects:list
L'elenco visualizzato deve essere uguale ai progetti Firebase elencati nella console Firebase.
Aggiorna all'ultima versione della CLI
In genere, è consigliabile utilizzare la versione più aggiornata della CLI Firebase.
La modalità di aggiornamento della versione della CLI dipende dal sistema operativo e da come è stata installata la CLI.
Windows
- Binario autonomo: scarica la nuova versione, poi sostituiscila sul tuo sistema
- npm: esegui
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: 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 l'interfaccia a riga di comando con i sistemi CI
Ti consigliamo di eseguire l'autenticazione utilizzando le credenziali predefinite dell'applicazione quando utilizzi la CLI con i sistemi di integrazione continua.
(Consigliato) Utilizza le credenziali predefinite dell'applicazione
La CLI Firebase rileverà e utilizzerà le credenziali predefinite dell'applicazione se sono impostate. Il modo più semplice per autenticare la CLI in CI e in altri ambienti headless è configurare le Credenziali predefinite dell'applicazione.
(Legacy) Utilizza FIREBASE_TOKEN
In alternativa, puoi eseguire l'autenticazione utilizzando FIREBASE_TOKEN
. Questo metodo è meno sicuro
rispetto alle credenziali predefinite dell'applicazione e non è più consigliato.
Su una macchina con un browser, installa l'Firebaseinterfaccia a riga di comando.
Avvia la procedura di accesso eseguendo questo comando:
firebase login:ci
Visita l'URL fornito, poi accedi utilizzando un Account Google.
Stampa un nuovo token di aggiornamento. La sessione CLI corrente non sarà interessata.
Archivia il token di output in modo sicuro ma accessibile nel tuo sistema CI.
Utilizza questo token quando esegui i comandi
firebase
. Puoi utilizzare una delle due opzioni seguenti:Opzione 1: memorizza 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 sistema di integrazione continua.
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. Stabilisci una directory di progetto
utilizzando il comando firebase init
. Una directory di progetto di solito è la stessa
directory della radice del controllo del codice sorgente e, dopo l'esecuzione di firebase init
, la
directory contiene un file di configurazione
firebase.json
.
Per inizializzare un nuovo progetto Firebase, esegui questo comando dalla directory dell'app:
firebase init
Il comando firebase init
ti guida nella 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 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 (ad esempio un progetto di gestione temporanea e un progetto di produzione) alla stessa directory del progetto.
Seleziona i prodotti Firebase che vuoi configurare nel tuo progetto Firebase.
Questo passaggio ti chiede 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.
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 progetto.Un file
.firebaserc
che memorizza gli alias del progetto.
Il file firebase.json
Il comando firebase init
crea un file di configurazione firebase.json
nella root della directory del progetto.
Il file firebase.json
è necessario per
eseguire il deployment degli asset con l'interfaccia a riga di comando Firebase perché specifica
quali file e impostazioni della directory del progetto vengono sottoposti a 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 Firebase Hosting
direttamente nel file firebase.json
. Tuttavia, per altri servizi Firebase che possono essere implementati con la CLI Firebase, il comando firebase init
crea file specifici in cui puoi definire le impostazioni per questi servizi, ad esempio un file index.js
per Cloud Functions. Puoi anche
configurare hook pre-deploy o post-deploy nel file firebase.json
.
Di seguito è riportato un esempio di file firebase.json
con le impostazioni predefinite se selezioni Firebase Hosting, Cloud Firestore e Cloud Functions for Firebase (con le opzioni di origine e lint di 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"
]
}
}
Anche se 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 tuo progetto contiene più database Cloud Firestore, modifica il file
firebase.json
per associare diversi file di origine dell'indice Cloud Firestore Security Rules e
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"
}
],
Cloud Functions file da ignorare durante il deployment
Al momento del deployment della funzione, la CLI specifica automaticamente
un elenco di file nella directory functions
da ignorare. In questo modo
si 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, 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 conservare (o aggiungere, se manca) l'elenco dei file mostrato sopra.
Gestire gli alias del progetto
Puoi associare più progetti Firebase alla stessa directory del 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 del deployment in produzione. Il comando firebase use
ti consente di passare
da un alias all'altro e di crearne di nuovi.
Aggiungere un alias del progetto
Quando selezioni un progetto Firebase durante l'inizializzazione
del progetto, al progetto viene automaticamente
assegnato 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 seguente 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 degli alias vengono scritte in un file .firebaserc
all'interno della directory del progetto.
Utilizzare gli alias di progetto
Per utilizzare gli alias del progetto Firebase assegnati, esegui uno 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 \ |
Indirizza tutti i comandi da eseguire sul progetto Firebase specificato.
L'interfaccia a riga di comando utilizza questo progetto come "progetto attivo". |
firebase use --clear |
Cancella il progetto attivo.
Esegui |
firebase use \ |
Rimuove un alias dalla directory del progetto. |
Puoi sostituire il progetto attualmente attivo passando
il flag --project
con qualsiasi comando CLI. Ad esempio, puoi impostare la CLI 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,
.
Controllo del codice sorgente e alias del progetto
In generale, devi archiviare il 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, in genere non devi eseguire il check-in del file .firebaserc
.
Se hai un progetto di sviluppo solo per uso personale, puoi passare il flag --project
con ogni comando o eseguire firebase use PROJECT_ID
senza assegnare un alias al progetto Firebase.
Pubblicare e testare il progetto Firebase localmente
Puoi visualizzare e testare il tuo progetto Firebase su URL ospitati localmente prima
del deployment in produzione. Se vuoi testare solo alcune funzionalità, puoi utilizzare
un elenco separato da virgole in un flag del comando firebase serve
.
Esegui il seguente comando dalla radice della directory del progetto locale se vuoi eseguire una delle seguenti attività:
- Visualizza i contenuti statici dell'app ospitata su Firebase.
- Utilizza Cloud Functions per generare contenuti dinamici per Firebase Hosting e vuoi utilizzare le tue funzioni HTTP di produzione (di cui è stato eseguito il deployment) per emulare 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 progetto per emulare il progetto utilizzando le funzioni HTTP locali.
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
Test da altri dispositivi locali
Per impostazione predefinita, firebase serve
risponde solo alle richieste provenienti da localhost
. Ciò
significa che potrai accedere ai 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, utilizza il flag --host
, come segue:
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 Firebase gestisce il deployment di codice e asset nel tuo progetto Firebase, tra cui:
- Nuove uscite dei tuoi siti Firebase Hosting
- Cloud Functions for Firebase nuovo, aggiornato o esistente
- Schemi e connettori nuovi o aggiornati per Firebase Data Connect
- 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
Puoi anche aggiungere un commento a ogni deployment. Questo commento verrà visualizzato insieme alle altre informazioni sul deployment nella pagina 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 di progetto, la directory di progetto deve avere un file
firebase.json
. Questo file viene creato automaticamente per te dal comandofirebase 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 servizi o funzionalità 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 del progetto locale o nella console Firebase.
Un'altra opzione per evitare conflitti di deployment è utilizzare il deployment parziale e definire le regole solo nella console Firebase.
Quote di deployment
È possibile (anche se improbabile) che tu possa superare una quota che limita la velocità 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 l'implementazione parziale.
Eseguire il rollback di un deployment
Puoi eseguire il rollback di un deployment di Firebase Hosting dalla paginaFirebase 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 servizi o funzionalità Firebase specifici, puoi utilizzare un elenco separato da virgole in un flag del comando firebase deploy
. Ad esempio,
il seguente comando esegue il deployment dei contenuti Firebase Hosting e
delle regole di sicurezza Cloud Storage.
firebase deploy --only hosting,storage
La tabella seguente elenca i servizi e le funzionalità disponibili per l'implementazione
parziale. I nomi nei flag corrispondono alle chiavi nel file di configurazione
firebase.json
.
Sintassi dei flag | Servizio o funzionalità di cui è stato eseguito il deployment |
---|---|
--only hosting |
Contenuti in Firebase Hosting |
--only database |
Firebase Realtime Database regole |
--only dataconnect |
Firebase Data Connect schemi e connettori |
--only storage |
Cloud Storage for Firebase regole |
--only firestore |
Cloud Firestore regole e indici 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
Quando esegui il deployment delle 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 ti consentono di implementare 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/v1');
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/v1');
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 seguente comando 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
Elimina funzioni
La CLI 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
Configurare le attività con script pre-deployment e post-deployment
Puoi collegare gli script shell al comando firebase deploy
per eseguire
attività di pre-deployment o post-deployment. Ad esempio, uno script predeploy potrebbe
transpilare il codice TypeScript in JavaScript e un hook postdeploy potrebbe notificare
agli amministratori i nuovi deployment dei contenuti del sito su Firebase Hosting.
Per configurare hook pre-deployment o post-deployment, aggiungi script bash al file di configurazione
firebase.json
. Puoi definire
brevi script direttamente nel file firebase.json
oppure puoi fare riferimento ad altri
file che si trovano nella directory del progetto.
Ad esempio, il seguente script è l'espressione firebase.json
per un'attività
post-deployment che invia un messaggio Slack al termine del deployment a
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 gli hook predeploy
e postdeploy
per qualsiasi
asset che puoi implementare. Tieni presente che l'esecuzione di firebase deploy
attiva tutte le attività pre-deployment e post-deployment definite nel file
firebase.json
. Per eseguire solo le attività associate a un servizio Firebase specifico, utilizza i comandi di deployment parziale.
Gli hook predeploy
e postdeploy
stampano i flussi di output ed errori standard degli script nel terminale. Per i casi di errore, tieni presente quanto segue:
- Se un hook predeploy non viene completato come previsto, il deployment viene annullato.
- Se il deployment non riesce per qualsiasi motivo, gli hook post-deployment non vengono attivati.
Variabili di ambiente
All'interno degli script eseguiti 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 root contenente il filefirebase.json
$RESOURCE_DIR
: (solo per gli scripthosting
efunctions
) la posizione della directory che contiene le risorse Hosting o Cloud Functions da implementare
Gestire più istanze di Realtime Database
Un progetto Firebase può avere più istanze Firebase Realtime Database. Per impostazione predefinita, i comandi CLI interagiscono con l'istanza di database predefinita.
Tuttavia, puoi interagire con un'istanza di database non predefinita utilizzando il flag
--instance DATABASE_NAME
--instance
:
firebase database:get
firebase database:profile
firebase database:push
firebase database:remove
firebase database:set
firebase database:update
Riferimento ai comandi
Comandi amministrativi dell'interfaccia a riga di comando
Comando | Descrizione |
---|---|
help | 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 corrente.
Questo comando crea un file di configurazione
firebase.json
nella directory corrente. |
login | Autentica la CLI con il tuo Account Google. Richiede l'accesso a un
browser web. Per accedere alla CLI 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. |
logout | Disconnette il tuo Account Google dalla CLI. |
apri | Apre un browser con le risorse pertinenti del progetto. |
projects:list | Elenca tutti i progetti Firebase a cui hai accesso. |
utilizzare | Imposta il progetto Firebase attivo per la CLI. Gestisce gli alias dei progetti. |
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, quindi aggiunge risorse Firebase al nuovo progetto. | |
projects:list | Elenca tutti i progetti Firebase a cui hai accesso. | |
Gestione delle app Firebase (iOS, Android, web) | ||
apps:create | 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 | 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) | ||
apps:android:sha:create \ FIREBASE_APP_ID SHA_HASH |
Aggiunge l'hash del certificato SHA specificato all'app Firebase 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 dei certificati SHA per l'app Firebase per Android specificata. |
Deployment 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, è necessario un file di configurazione
firebase.json .
|
serve | Avvia un server web locale con la configurazione Firebase Hosting.
Per Firebase Hosting, è necessario un file di configurazione
firebase.json . |
App Distribution comandi
Comando | Descrizione |
---|---|
appdistribution:distribute \ --app FIREBASE_APP_ID |
Rende la build disponibile per i tester. |
appdistribution:testers:add | Aggiunge tester al progetto. |
appdistribution:testers:remove | Rimuove i tester dal progetto. |
App Hosting comandi
Comando | Descrizione |
---|---|
apphosting:backends:create \ --project PROJECT_ID \ --location REGION --app APP_ID |
Crea la raccolta di risorse gestite collegate a un singolo codebase che comprende un backend App Hosting. Se vuoi, specifica un'app web Firebase esistente tramite il relativo ID app Firebase. |
apphosting:backends:get \ BACKEND_ID \ --project PROJECT_ID \ --location REGION |
Recupera dettagli specifici, incluso l'URL pubblico, di un backend. |
apphosting:backends:list \ --project PROJECT_ID |
Recupera un elenco di tutti i backend attivi associati a un progetto. |
firebase apphosting:backends:delete \ BACKEND_ID \ --project PROJECT_ID \ --location REGION |
Elimina un backend dal progetto. |
firebase apphosting:config:export \ --project PROJECT_ID \ --secrets ENVIRONMENT_NAME |
Esporta i secret da utilizzare nell'emulazione dell'app. Il valore predefinito è i secret archiviati in apphosting.yaml oppure accetta
--secrets per specificare qualsiasi ambiente che abbia un file
apphosting.ENVIRONMENT_NAME.yaml corrispondente.
|
firebase apphosting:rollouts:create \ BACKEND_ID \ --git_branch BRANCH_NAME \ --git_commit COMMIT_ID |
Crea un'implementazione attivata manualmente. (Facoltativo) Specifica l'ultimo commit a un ramo o un commit specifico. Se non vengono fornite opzioni, viene richiesto di selezionare un'opzione da un elenco di filiali. |
apphosting:secrets:set
KEY
--project PROJECT_ID \ --location REGION \ --data-file DATA_FILE_PATH |
Archivia il materiale secret in Secret Manager. (Facoltativo) Fornisci un percorso file da cui leggere i dati del secret. Imposta su _ per leggere i dati secretati dall'input standard.
|
apphosting:secrets:grantaccess
KEY
BACKEND_ID \ --project PROJECT_ID \ --location REGION |
Concede all'account di servizio di backend l'accesso al secret fornito in modo che possa essere accessibile da App Hosting in fase di compilazione o di runtime. |
apphosting:secrets:describe
KEY \ --project PROJECT_ID |
Recupera i metadati per un secret e le relative versioni. |
firebase apphosting:secrets:access \ KEY[@version] \ --project PROJECT_ID |
Accede a un valore del secret dato il secret e la relativa versione. Per impostazione predefinita, viene eseguito l'accesso all'ultima versione. |
Comandi Authentication (gestione utenti)
Comando | Descrizione |
---|---|
auth:export | 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. |
Cloud Firestore comandi
Comando | Descrizione |
---|---|
firestore:locations |
Elenca le posizioni 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:
|
firestore:databases:list |
Elenca i database nel tuo progetto Firebase. |
firestore:databases:get DATABASE_ID |
Ottieni la configurazione del database per un database specifico nel tuo progetto Firebase. |
firestore:databases:update DATABASE_ID |
Aggiorna la configurazione del database di un database specificato nel tuo progetto Firebase. È richiesta almeno una segnalazione. Il comando accetta i seguenti flag:
|
firestore:databases:delete DATABASE_ID |
Elimina un database nel tuo progetto Firebase. |
firestore:indexes |
Elenca gli indici per un database nel tuo progetto Firebase. Il comando accetta il seguente flag:
|
firestore:delete |
Elimina i documenti 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 Cloud Firestore con la CLI comporta costi di lettura ed eliminazione. Per ulteriori informazioni, vedi Informazioni sulla fatturazione di Cloud Firestore. Il comando accetta il seguente flag:
|
Cloud Functions for Firebase comandi
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 di Cloud Functions del progetto attivo. |
functions:config:set | Memorizza i valori di configurazione di runtime di Cloud Functions del progetto attivo. |
functions:config:unset | Rimuove i valori dalla configurazione di runtime del progetto attivo. |
functions:log | Legge i log da Cloud Functions di cui è stato eseguito il deployment. |
Per saperne di più, consulta la documentazione sulla configurazione dell'ambiente.
Crashlytics comandi
Comando | Descrizione |
---|---|
crashlytics:mappingfile:generateid \ --resource-file=PATH/TO/ANDROID_RESOURCE.XML |
Genera un ID file di mappatura 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 del file di mapping dichiarato nel file di risorse Android (XML) specificato. |
crashlytics:symbols:upload \ --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. |
Data Connect comandi
Questi comandi e i relativi casi d'uso sono trattati in modo più dettagliato nella guida di riferimento della CLI.Data Connect
Comando | Descrizione |
---|---|
dataconnect:services:list | Elenca tutti i servizi Data Connect di cui è stato eseguito il deployment nel tuo progetto Firebase. |
dataconnect:sql:diff \ SERVICE_ID |
Per il servizio specificato, mostra le differenze tra uno schema Data Connect locale e lo schema del database Cloud SQL. |
dataconnect:sql:migrate \ --force \ SERVICE_ID |
Esegue la migrazione dello schema del database Cloud SQL in modo che corrisponda allo schema Data Connect locale. |
dataconnect:sql:grant\ --role=ROLE \ --email=EMAIL \ SERVICE_ID |
Concede il ruolo SQL all'utente o all'email del service account specificato.
Per il flag --role , il ruolo SQL da concedere è uno dei seguenti:
owner , writer o reader .
Per il flag --email , fornisci l'indirizzo email dell'utente o del service account a cui concedere il ruolo.
|
dataconnect:sdk:generate | Genera SDK tipizzati per i connettori Data Connect. |
Extensions comandi
Comando | Descrizione |
---|---|
ext | Visualizza informazioni su come utilizzare i comandi Firebase Extensions. Elenca le istanze dell'estensione installate nel progetto attivo. |
ext:configure \ EXTENSION_INSTANCE_ID |
Riconfigura i valori dei parametri di un'istanza dell'estensione nel manifest dell'estensione. |
ext:info \ PUBLISHER_ID/EXTENSION_ID |
Stampa informazioni dettagliate su un'estensione. |
ext:install \ PUBLISHER_ID/EXTENSION_ID |
Aggiunge una nuova istanza di un'estensione al tuo manifest dell'estensione. |
ext:list | Elenca tutte le istanze di estensione installate in un progetto Firebase. Stampa l'ID istanza per ogni estensione. |
ext:uninstall \ EXTENSION_INSTANCE_ID |
Rimuove un'istanza di estensione dal manifest dell'estensione. |
ext:update \ EXTENSION_INSTANCE_ID |
Aggiorna un'istanza dell'estensione all'ultima versione nel manifest dell'estensione. |
ext:export | Esporta tutte le istanze dell'estensione installate dal progetto nel manifest dell'estensione. |
Extensions comandi per i publisher
Comando | Descrizione |
---|---|
ext:dev:init | Inizializza una base di codice scheletrica per una nuova estensione nella directory corrente. |
ext:dev:list \ PUBLISHER_ID |
Stampa un elenco di tutte le estensioni caricate da un editore. |
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 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, vengono ritirate tutte le versioni di questa estensione. |
ext:dev:undeprecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE |
Annulla il ritiro
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, viene annullata la deprecazione di tutte le versioni dell'estensione. |
ext:dev:upload \ PUBLISHER_ID/EXTENSION_ID |
Carica una nuova versione di un'estensione. |
ext:dev:usage \ PUBLISHER_ID |
Mostra i conteggi delle installazioni e le metriche di utilizzo per le estensioni caricate da un publisher. |
Hosting comandi
Comando | Descrizione |
---|---|
hosting:disable |
Interrompe la pubblicazione del traffico Firebase Hosting per il progetto Firebase attivo. L'URL Hosting del tuo progetto mostrerà il messaggio "Sito non trovato" dopo l'esecuzione di questo comando. |
Gestione di Hosting siti | |
firebase hosting:sites:create \ SITE_ID |
Crea un nuovo sito Hosting nel progetto Firebase attivo utilizzando il
(Facoltativo) Specifica un'app web Firebase esistente da associare
al nuovo sito passando il seguente flag:
|
firebase hosting:sites:delete \ SITE_ID |
Elimina il sito Hosting specificato La CLI mostra un messaggio di conferma prima di eliminare il sito. (Facoltativo) Salta la richiesta di conferma passando i seguenti flag: |
firebase hosting:sites:get \ SITE_ID |
Recupera informazioni sul sito Hosting specificato |
firebase hosting:sites:list |
Elenca tutti i siti 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
predefinito Hosting utilizzando il
Questo comando non viene eseguito sul canale. |
firebase hosting:channel:delete \ CHANNEL_ID |
Elimina il canale di anteprima specificato Non puoi eliminare il canale live 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 in anteprima non esiste ancora, questo comando lo crea nel sito predefinito Hosting prima di eseguirne il deployment sul canale. |
firebase hosting:channel:list | Elenca tutti i canali (incluso il canale "live") nel sito predefinito Hosting |
firebase hosting:channel:open \ CHANNEL_ID |
Apre un browser all'URL del canale specificato o restituisce l'URL se l'apertura in un browser non è possibile |
Clonazione delle versioni | |
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ù recente sul canale "origine" specificato nel canale "destinazione" specificato Questo comando esegue anche il deployment sul canale "target" specificato. Se il canale "target" non esiste ancora, questo comando crea un nuovo canale di anteprima nel sito "target" Hosting prima del 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 Questo comando esegue anche il deployment sul canale "target" specificato. Se il canale "target" non esiste ancora, questo comando crea un nuovo canale di anteprima nel sito "target" Hosting prima del deployment nel canale. Puoi trovare |
Realtime Database comandi
Tieni presente che puoi creare l'istanza Realtime Database iniziale predefinita nella console Firebase o utilizzando il workflow firebase init
generale o il flusso firebase init database
specifico.
Una volta create le istanze, puoi gestirle come descritto in Gestire più istanze Realtime Database.
Comando | Descrizione |
---|---|
database:get | Recupera i dati dal database del progetto attivo e li visualizza in formato JSON. Supporta le query sui dati indicizzati. |
database:instances:create | Crea un'istanza di database con un nome specificato. Accetta
l'opzione --location per creare un database in una regione specificata. Per i nomi delle regioni da utilizzare con questa opzione, vedi
Selezionare le località per il progetto.
Se non esiste un'istanza di database per il progetto corrente, 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, vedi
Selezionare le località per il progetto. |
database:profile | Crea un profilo delle operazioni sul database del progetto attivo. Per maggiori dettagli, consulta Tipi di operazioni Realtime Database. |
database:push | Inserisce nuovi dati in un elenco in una posizione specificata nel database del progetto attivo. Accetta input da un file, STDIN o un argomento della riga di comando. |
database:remove | 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. Accetta input da un file, STDIN o un argomento della riga di comando. |
database:update | Esegue un aggiornamento parziale in una posizione specificata nel database del progetto attivo. Accetta input da un file, STDIN o un argomento della riga di comando. |
Remote Config comandi
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 oppure, facoltativamente,
trasmetti l'opzione --limit per limitare il numero di
versioni restituite. |
remoteconfig:get \ --v, version_number VERSION_NUMBER --o, output FILENAME |
Recupera il modello per versione (per impostazione predefinita, l'ultima versione)
e restituisce i gruppi di parametri, i parametri, i nomi delle condizioni e
la versione in una tabella. (Facoltativo) Puoi scrivere l'output in
un file specificato con -o, FILENAME . |
remoteconfig:rollback \ --v, version_number VERSION_NUMBER --force |
Esegue il rollback del modello Remote Config a una versione precedente specificata
o alla versione precedente immediata (versione attuale -1). A meno che non venga superato --force , viene visualizzato il prompt S/N
prima di procedere al rollback. |