Die Firebase CLI (GitHub) bietet eine Vielzahl von Tools zum Verwalten, Aufrufen und Bereitstellen in Firebase-Projekten.
Bevor Sie die Firebase CLI verwenden, richten Sie ein Firebase-Projekt ein.
Befehlszeile einrichten oder aktualisieren
Firebase CLI installieren
Sie können die Firebase CLI mit einer Methode installieren, die Ihrem Betriebssystem, Ihrer Erfahrung und/oder Ihrem Anwendungsfall entspricht. Unabhängig davon, wie Sie die Befehlszeile installieren, haben Sie Zugriff auf dieselben Funktionen und den Befehl firebase
.
Windows
Sie können die Firebase CLI für Windows mit einer der folgenden Optionen installieren:
Option | Beschreibung | Empfohlen für... |
---|---|---|
eigenständiges Binärprogramm | Laden Sie die eigenständige Binärdatei für die Befehlszeile herunter. Anschließend können Sie auf die ausführbare Datei zugreifen, um eine Shell zu öffnen und den Befehl firebase auszuführen.
|
Neue Entwickler Entwickler, die Node.js nicht verwenden oder nicht damit vertraut sind |
npm | Verwenden Sie npm (den Node Package Manager), um die Befehlszeile zu installieren und den global verfügbaren firebase -Befehl zu aktivieren.
|
Entwickler, die Node.js verwenden |
eigenständiges Binärprogramm
So laden Sie das Binärprogramm für die Firebase CLI herunter und führen es aus:
Laden Sie das Firebase CLI-Binärprogramm für Windows herunter.
Rufen Sie die Binärdatei auf, um eine Shell zu öffnen, in der Sie den Befehl
firebase
ausführen können.
npm
Führen Sie die folgenden Schritte aus, um npm
(Node Package Manager) zum Installieren von Firebase CLI zu verwenden:
Installieren Sie Node.js mit nvm-windows (Node Version Manager). Bei der Installation von Node.js werden automatisch die
npm
-Befehlszeilentools installiert.Installieren Sie die Firebase CLI über
npm
, indem Sie den folgenden Befehl ausführen:npm install -g firebase-tools
Dieser Befehl aktiviert den global verfügbaren
firebase
-Befehl.
macOS oder Linux
Sie können die Firebase CLI für macOS oder Linux mit einer der folgenden Optionen installieren:
Option | Beschreibung | Empfohlen für... |
---|---|---|
Script für automatische Installation | Sie können einen einzigen Befehl ausführen, der automatisch Ihr Betriebssystem erkennt, den neuesten Befehlszeilenrelease herunterlädt und dann den global verfügbaren Befehl firebase aktiviert.
|
Neue Entwickler Entwickler, die Node.js nicht verwenden oder damit nicht vertraut sind Automatisierte Bereitstellungen in einer CI/CD-Umgebung |
eigenständiges Binärprogramm | Laden Sie die eigenständige Binärdatei für die Befehlszeile herunter. Anschließend können Sie die Binärdatei konfigurieren und ausführen, damit sie zu Ihrem Workflow passt. | Vollständig anpassbare Workflows mithilfe der Befehlszeile |
npm | Verwenden Sie npm (den Node Package Manager), um die Befehlszeile zu installieren und den global verfügbaren firebase -Befehl zu aktivieren.
|
Entwickler, die Node.js verwenden |
Script für die automatische Installation
So installieren Sie Firebase CLI mit dem Skript für die automatische Installation:
Führen Sie den folgenden cURL-Befehl aus:
curl -sL https://firebase.tools | bash
Dieses Skript erkennt automatisch Ihr Betriebssystem, lädt den neuesten Firebase CLI-Release herunter und aktiviert dann den global verfügbaren
firebase
-Befehl.
Weitere Beispiele und Details zum Script für die automatische Installation finden Sie im Quellcode des Skripts unter firebase.tools.
eigenständiges Binärprogramm
So laden Sie das Binärprogramm für die Firebase CLI für Ihr Betriebssystem herunter und führen es aus:
Laden Sie das Firebase CLI-Binärprogramm für Ihr Betriebssystem herunter: macOS | Linux
(Optional) Richten Sie den global verfügbaren
firebase
-Befehl ein.- Machen Sie die Binärdatei ausführbar, indem Sie
chmod +x ./firebase_tools
ausführen. - Fügen Sie den Pfad des Binärprogramms zu Ihrem PATH hinzu.
- Machen Sie die Binärdatei ausführbar, indem Sie
npm
Wenn Sie npm
(Node Package Manager) zum Installieren der Firebase CLI verwenden möchten, gehen Sie so vor:
Installieren Sie Node.js mit nvm (Node Version Manager).
Bei der Installation von Node.js werden dienpm
-Befehlszeilentools automatisch installiert.Installieren Sie die Firebase CLI über
npm
, indem Sie den folgenden Befehl ausführen:npm install -g firebase-tools
Dieser Befehl aktiviert den global verfügbaren
firebase
-Befehl.
Anmelden und Firebase CLI testen
Nach der Installation der Befehlszeile müssen Sie sich authentifizieren. Anschließend können Sie die Authentifizierung bestätigen, indem Sie Ihre Firebase-Projekte auflisten.
Melden Sie sich mit Ihrem Google-Konto in Firebase an. Führen Sie dazu den folgenden Befehl aus:
firebase login
Dieser Befehl verbindet Ihren lokalen Computer mit Firebase und gewährt Ihnen Zugriff auf Ihre Firebase-Projekte.
Testen Sie, ob die Befehlszeile korrekt installiert ist und auf Ihr Konto zugreift. Listen Sie dazu Ihre Firebase-Projekte auf. Führen Sie dazu diesen Befehl aus:
firebase projects:list
Die angezeigte Liste sollte mit den Firebase-Projekten übereinstimmen, die in der Firebase Console aufgeführt sind.
Auf neueste Befehlszeilenversion aktualisieren
Im Allgemeinen sollten Sie die neueste Firebase CLI-Version verwenden.
Wie Sie die Version der Befehlszeile aktualisieren, hängt von Ihrem Betriebssystem und der Installation der Befehlszeile ab.
Windows
- Eigenständiges Binärprogramm: Laden Sie die neue Version herunter und ersetzen Sie sie dann auf Ihrem System.
- npm: Führen Sie
npm install -g firebase-tools
aus.
macOS
- automatisches Installationsskript: Führen Sie
curl -sL https://firebase.tools | upgrade=true bash
aus. - eigenständiges Binärprogramm: Laden Sie die neue Version herunter und ersetzen Sie sie dann auf Ihrem System
- npm: Führen Sie
npm install -g firebase-tools
aus.
Linux
- automatisches Installationsskript: Führen Sie
curl -sL https://firebase.tools | upgrade=true bash
aus. - eigenständiges Binärprogramm: Laden Sie die neue Version herunter und ersetzen Sie sie dann auf Ihrem System
- npm: Führen Sie
npm install -g firebase-tools
aus.
Befehlszeile mit CI-Systemen verwenden
Die Firebase CLI benötigt einen Browser, um die Authentifizierung durchzuführen. Die Befehlszeile ist jedoch vollständig kompatibel mit CI und anderen monitorlosen Umgebungen.
Installieren Sie die Firebase CLI auf einem Computer mit einem Browser.
Starten Sie die Anmeldung mit dem folgenden Befehl:
firebase login:ci
Rufen Sie die angegebene URL auf und melden Sie sich mit einem Google-Konto an.
Geben Sie ein neues Aktualisierungstoken aus. Die aktuelle Befehlszeilensitzung ist nicht betroffen.
Speichern Sie das Ausgabetoken sicher, aber zugänglich in Ihrem CI-System.
Verwenden Sie dieses Token, wenn Sie
firebase
-Befehle ausführen. Sie können eine der folgenden beiden Optionen verwenden:Option 1: Speichern Sie das Token als Umgebungsvariable
FIREBASE_TOKEN
. Ihr System verwendet das Token automatisch.Option 2: Führen Sie alle
firebase
-Befehle mit dem Flag--token TOKEN
in Ihrem CI-System aus.
Dies ist die Rangfolge beim Laden von Tokens: Flag, Umgebungsvariable, gewünschtes Firebase-Projekt.
Firebase-Projekt initialisieren
Für viele gängige Aufgaben, die über die Befehlszeile ausgeführt werden, z. B. das Bereitstellen in einem Firebase-Projekt, ist ein Projektverzeichnis erforderlich. Ein Projektverzeichnis wird mit dem Befehl firebase init
eingerichtet. Ein Projektverzeichnis ist normalerweise dasselbe Verzeichnis wie das Stammverzeichnis der Versionsverwaltung. Nach der Ausführung von firebase init
enthält das Verzeichnis eine firebase.json
-Konfigurationsdatei.
Führen Sie den folgenden Befehl im Verzeichnis Ihrer Anwendung aus, um ein neues Firebase-Projekt zu initialisieren:
firebase init
Mit dem Befehl firebase init
werden Sie durch die Einrichtung Ihres Projektverzeichnisses und einiger Firebase-Produkte geführt. Während der Projektinitialisierung fordert die Firebase CLI Sie auf, die folgenden Aufgaben auszuführen:
Wählen Sie die Firebase-Produkte aus, die Sie in Ihrem Firebase-Projekt einrichten möchten.
In diesem Schritt werden Sie aufgefordert, Konfigurationen für bestimmte Dateien für die ausgewählten Produkte festzulegen. Weitere Informationen zu diesen Konfigurationen finden Sie in der Dokumentation des jeweiligen Produkts (z. B. Hosting). Sie können
firebase init
später jederzeit ausführen, um weitere Firebase-Produkte einzurichten.Wählen Sie ein Firebase-Standardprojekt aus.
In diesem Schritt wird das aktuelle Projektverzeichnis mit einem Firebase-Projekt verknüpft, sodass projektspezifische Befehle (z. B.
firebase deploy
) für das entsprechende Firebase-Projekt ausgeführt werden.Es ist auch möglich, mehrere Firebase-Projekte (z. B. ein Staging-Projekt und ein Produktionsprojekt) mit demselben Projektverzeichnis zu verknüpfen.
Am Ende der Initialisierung erstellt Firebase automatisch die folgenden beiden Dateien im Stammverzeichnis Ihres lokalen App-Verzeichnisses:
Eine
firebase.json
-Konfigurationsdatei, in der Ihre Projektkonfiguration aufgeführt ist.Eine
.firebaserc
-Datei, in der die aliases Ihres Projekts gespeichert sind.
Datei firebase.json
Mit dem Befehl firebase init
wird eine firebase.json
-Konfigurationsdatei im Stammverzeichnis Ihres Projektverzeichnisses erstellt.
Die Datei firebase.json
ist erforderlich, um Assets mit der Firebase CLI bereitzustellen, da sie angibt, welche Dateien und Einstellungen aus Ihrem Projektverzeichnis in Ihrem Firebase-Projekt bereitgestellt werden. Einige Einstellungen können entweder in Ihrem Projektverzeichnis oder in der Firebase Console definiert werden. Achten Sie deshalb darauf, alle potenziellen Bereitstellungskonflikte zu beheben.
Sie können die meisten Firebase Hosting-Optionen direkt in der Datei firebase.json
konfigurieren. Für andere Firebase-Dienste, die mit der Firebase CLI bereitgestellt werden können, werden mit dem Befehl firebase init
bestimmte Dateien erstellt, in denen Sie Einstellungen für diese Dienste definieren können, z. B. eine index.js
-Datei für Cloud Functions. Sie können auch Predeploy- oder Postdeploy-Hooks in der Datei firebase.json
einrichten.
Das folgende Beispiel zeigt eine firebase.json
-Datei mit Standardeinstellungen, wenn Sie während der Initialisierung Firebase Hosting, Cloud Firestore und Cloud Functions for Firebase (mit ausgewählten TypeScript-Quell- und Lint-Optionen) auswählen.
{
"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"
]
}
}
Obwohl firebase.json
standardmäßig verwendet wird, können Sie das Flag --config PATH
übergeben, um eine alternative Konfigurationsdatei anzugeben.
Konfiguration für mehrere Cloud Firestore-Datenbanken
Wenn Sie firebase init
ausführen, enthält die Datei firebase.json
einen einzelnen firestore
-Schlüssel, der der Standarddatenbank Ihres Projekts entspricht (siehe oben).
Wenn Ihr Projekt mehrere Cloud Firestore-Datenbanken enthält, bearbeiten Sie die Datei firebase.json
, um jeder Datenbank unterschiedliche Cloud Firestore-Sicherheitsregeln und Datenbankindex-Quelldateien zuzuordnen. Ändern Sie die Datei mit einem JSON-Array mit einem Eintrag für jede Datenbank.
"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-Dateien, die bei der Bereitstellung ignoriert werden sollen
Bei der Funktionsbereitstellung gibt die Befehlszeile im Verzeichnis functions
automatisch eine Liste der Dateien an, die ignoriert werden sollen. Dadurch wird die Bereitstellung irrelevanter Dateien im Back-End verhindert, die die Datengröße Ihrer Bereitstellung erhöhen könnten.
Folgende Liste der standardmäßig ignorierten Dateien wird im JSON-Format angezeigt:
"ignore": [
".git",
".runtimeconfig.json",
"firebase-debug.log",
"firebase-debug.*.log",
"node_modules"
]
Wenn Sie in firebase.json
eigene benutzerdefinierte Werte für ignore
hinzufügen, müssen Sie die oben gezeigte Liste der Dateien beibehalten (oder hinzufügen, falls sie fehlt).
Projektaliasse verwalten
Sie können mehrere Firebase-Projekte mit demselben Projektverzeichnis verknüpfen.
Sie können beispielsweise ein Firebase-Projekt für das Staging und ein anderes für die Produktion verwenden. Durch die Verwendung verschiedener Projektumgebungen können Sie Änderungen überprüfen, bevor Sie sie in der Produktion bereitstellen. Mit dem Befehl firebase use
können Sie zwischen Aliassen wechseln und neue Aliasse erstellen.
Projektalias hinzufügen
Wenn Sie während der Projektinitialisierung ein Firebase-Projekt auswählen, wird dem Projekt automatisch der Alias default
zugewiesen. Wenn Sie jedoch zulassen möchten, dass projektspezifische Befehle für ein anderes Firebase-Projekt ausgeführt werden, aber weiterhin dasselbe Projektverzeichnis verwendet wird, führen Sie in Ihrem Projektverzeichnis den folgenden Befehl aus:
firebase use --add
Dieser Befehl fordert Sie auf, ein anderes Firebase-Projekt auszuwählen und das Projekt als Alias zuzuweisen. Alias-Zuweisungen werden in eine .firebaserc
-Datei in Ihrem Projektverzeichnis geschrieben.
Projektaliasse verwenden
Führen Sie einen der folgenden Befehle in Ihrem Projektverzeichnis aus, um zugewiesene Firebase-Projektaliasse zu verwenden.
Befehl | Beschreibung |
---|---|
firebase use |
Liste der aktuell definierten Aliasse für Ihr Projektverzeichnis aufrufen |
firebase use \ |
Weist alle Befehle an, die für das angegebene Firebase-Projekt ausgeführt werden sollen.
Die Befehlszeile verwendet dieses Projekt als derzeit „aktives Projekt“. |
firebase use --clear |
Löscht das aktive Projekt.
Führen Sie |
firebase use \ |
Entfernt einen Alias aus Ihrem Projektverzeichnis. |
Sie können überschreiben, was als derzeit aktives Projekt verwendet wird. Übergeben Sie dazu das Flag --project
mit einem beliebigen Befehlszeilenbefehl. Beispiel: Sie können die Befehlszeile so einrichten, dass sie für ein Firebase-Projekt ausgeführt wird, dem Sie den Alias staging
zugewiesen haben. Wenn Sie einen einzelnen Befehl für das Firebase-Projekt ausführen möchten, dem Sie den Alias prod
zugewiesen haben, können Sie beispielsweise
ausführen.
Versionsverwaltung und Projektaliasse
Im Allgemeinen sollten Sie die Datei .firebaserc
in die Versionsverwaltung einchecken, damit Ihr Team Projektaliasse gemeinsam nutzen kann. Bei Open-Source-Projekten oder Startervorlagen sollten Sie die Datei .firebaserc
jedoch generell nicht einchecken.
Wenn Sie ein Entwicklungsprojekt nur für Sie haben, können Sie entweder bei jedem Befehl das Flag --project
übergeben oder firebase use PROJECT_ID
ausführen, ohne dem Firebase-Projekt einen Alias zuzuweisen.
Firebase-Projekt lokal bereitstellen und testen
Sie können Ihr Firebase-Projekt vor der Bereitstellung für die Produktion unter lokal gehosteten URLs ansehen und testen. Wenn Sie nur ausgewählte Features testen möchten, können Sie eine durch Kommas getrennte Liste in einem Flag für den Befehl firebase serve
verwenden.
Führen Sie den folgenden Befehl im Stammverzeichnis Ihres lokalen Projektverzeichnisses aus, wenn Sie eine der folgenden Aufgaben ausführen möchten:
- Statische Inhalte für Ihre von Firebase gehostete App ansehen.
- Mit Cloud Functions können Sie dynamische Inhalte für Firebase Hosting generieren und Ihre (bereitgestellten) HTTP-Funktionen für die Produktion verwenden, um Hosting auf einer lokalen URL zu emulieren.
firebase serve --only hosting
Projekt mithilfe von lokalen HTTP-Funktionen emulieren
Führen Sie einen der folgenden Befehle in Ihrem Projektverzeichnis aus, um Ihr Projekt mithilfe von local-HTTP-Funktionen zu emulieren.
Verwenden Sie einen der folgenden Befehle, um HTTP-Funktionen und das Hosting für Tests auf lokalen URLs zu emulieren:
firebase serve
firebase serve --only functions,hosting // uses a flag
Verwenden Sie den folgenden Befehl, um nur HTTP-Funktionen zu emulieren:
firebase serve --only functions
Von anderen lokalen Geräten aus testen
Standardmäßig antwortet firebase serve
nur auf Anfragen von localhost
. Das bedeutet, dass Sie über den Webbrowser Ihres Computers auf Ihre gehosteten Inhalte zugreifen können, jedoch nicht über andere Geräte in Ihrem Netzwerk. Wenn Sie Tests von anderen lokalen Geräten aus durchführen möchten, verwenden Sie das Flag --host
so:
firebase serve --host 0.0.0.0 // accepts requests to any host
In einem Firebase-Projekt bereitstellen
Die Firebase CLI verwaltet die Bereitstellung von Code und Assets in Ihrem Firebase-Projekt, darunter:
- Neue Releases Ihrer Firebase Hosting-Websites
- Neue, aktualisierte oder vorhandene Cloud Functions for Firebase-Funktionen
- Regeln für Firebase Realtime Database
- Regeln für Cloud Storage for Firebase
- Regeln für Cloud Firestore
- Indexe für Cloud Firestore
Führen Sie zum Bereitstellen in einem Firebase-Projekt den folgenden Befehl in Ihrem Projektverzeichnis aus:
firebase deploy
Optional können Sie jedem Ihrer Bereitstellungen einen Kommentar hinzufügen. Dieser Kommentar wird zusammen mit den anderen Bereitstellungsinformationen auf der Firebase Hosting-Seite Ihres Projekts angezeigt. Beispiel:
firebase deploy -m "Deploying the best new feature ever."
Beachten Sie bei der Verwendung des Befehls firebase deploy
Folgendes:
Zum Bereitstellen von Ressourcen aus einem Projektverzeichnis muss das Projektverzeichnis eine
firebase.json
-Datei haben. Diese Datei wird vom Befehlfirebase init
automatisch für Sie erstellt.Standardmäßig erstellt
firebase deploy
einen Release für alle bereitstellbaren Ressourcen in Ihrem Projektverzeichnis. Wenn Sie bestimmte Firebase-Dienste oder -Features bereitstellen möchten, verwenden Sie die Teilbereitstellung.
Bereitstellungskonflikte bei Sicherheitsregeln
Für Firebase Realtime Database, Cloud Storage for Firebase und Cloud Firestore können Sie Sicherheitsregeln entweder in Ihrem lokalen Projektverzeichnis oder in der Firebase Console definieren.
Eine weitere Möglichkeit, Bereitstellungskonflikte zu vermeiden, besteht darin, eine Teilbereitstellung zu verwenden und Regeln nur in der Firebase Console zu definieren.
Bereitstellungskontingente
Es ist möglich (aber unwahrscheinlich), dass Sie ein Kontingent überschreiten, das die Rate oder das Volumen Ihrer Firebase-Bereitstellungsvorgänge begrenzt. Wenn Sie beispielsweise eine sehr große Anzahl von Funktionen bereitstellen, wird möglicherweise die Fehlermeldung HTTP 429 Quota
angezeigt. Sie können solche Probleme auch durch eine Teilbereitstellung beheben.
Rollback einer Bereitstellung durchführen
Sie können eine Firebase Hosting-Bereitstellung über die Firebase Hosting-Seite Ihres Projekts zurücksetzen. Wählen Sie dazu für den gewünschten Release die Aktion Rollback aus.
Derzeit ist es nicht möglich, Releases von Sicherheitsregeln für Firebase Realtime Database, Cloud Storage for Firebase oder Cloud Firestore rückgängig zu machen.
Bestimmte Firebase-Dienste bereitstellen
Wenn Sie nur bestimmte Firebase-Dienste oder -Features bereitstellen möchten, können Sie im Befehl firebase deploy
eine durch Kommas getrennte Liste in einem Flag verwenden. Mit dem folgenden Befehl werden beispielsweise Firebase Hosting-Inhalte und Cloud Storage-Sicherheitsregeln bereitgestellt.
firebase deploy --only hosting,storage
In der folgenden Tabelle sind die Dienste und Features aufgeführt, die für die teilweise Bereitstellung verfügbar sind. Die Namen in den Flags entsprechen den Schlüsseln in der Konfigurationsdatei firebase.json
.
Flag-Syntax | Bereitgestellter Dienst oder Feature |
---|---|
--only hosting |
Firebase Hosting-Inhalte |
--only database |
Firebase Realtime Database-Regeln |
--only storage |
Cloud Storage for Firebase-Regeln |
--only firestore |
Cloud Firestore-Regeln und -Indexe für alle konfigurierten Datenbanken |
--only functions |
Cloud Functions for Firebase (genauere Versionen dieses Flags sind möglich) |
Bestimmte Funktionen bereitstellen
Wenn Sie Funktionen bereitstellen, können Sie sie auf bestimmte Funktionen ausrichten. Beispiel:
firebase deploy --only functions:function1
firebase deploy --only functions:function1,functions:function2
Eine weitere Möglichkeit besteht darin, Funktionen in der Datei /functions/index.js
in Exportgruppen zu gruppieren. Mit Gruppierungsfunktionen können Sie mehrere Funktionen mit einem einzigen Befehl bereitstellen.
Sie können beispielsweise die folgenden Funktionen schreiben, um groupA
und groupB
zu definieren:
var functions = require('firebase-functions');
exports.groupA = {
function1: functions.https.onRequest(...),
function2: functions.database.ref('\path').onWrite(...)
}
exports.groupB = require('./groupB');
In diesem Beispiel enthält eine separate functions/groupB.js
-Datei zusätzliche Funktionen, mit denen die Funktionen in groupB
definiert werden. Beispiel:
var functions = require('firebase-functions');
exports.function3 = functions.storage.object().onChange(...);
exports.function4 = functions.analytics.event('in_app_purchase').onLog(...);
In diesem Beispiel können Sie alle groupA
-Funktionen bereitstellen, indem Sie den folgenden Befehl in Ihrem Projektverzeichnis ausführen:
firebase deploy --only functions:groupA
Alternativ können Sie mit dem folgenden Befehl eine bestimmte Funktion innerhalb einer Gruppe als Ziel angeben:
firebase deploy --only functions:groupA.function1,groupB.function4
Funktionen löschen
Die Firebase CLI unterstützt die folgenden Befehle und Optionen zum Löschen zuvor bereitgestellter Funktionen:
Löscht alle Funktionen, die dem angegebenen Namen in allen Regionen entsprechen:
firebase functions:delete FUNCTION-1_NAME
Löscht eine angegebene Funktion, die in einer nicht standardmäßigen Region ausgeführt wird:
firebase functions:delete FUNCTION-1_NAME --region REGION_NAME
Löscht mehrere Funktionen:
firebase functions:delete FUNCTION-1_NAME FUNCTION-2_NAME
Löscht eine angegebene Funktionsgruppe:
firebase functions:delete GROUP_NAME
Umgeht die Bestätigungsaufforderung:
firebase functions:delete FUNCTION-1_NAME --force
Skriptaufgaben zum Vorbereiten und Nach Bereitstellen einrichten
Sie können Shell-Skripts mit dem Befehl firebase deploy
verbinden, um Aufgaben vor oder nach der Bereitstellung auszuführen. Ein Pre-Deploy-Script könnte TypeScript-Code in JavaScript transpilieren und ein Postdeploy-Hook könnte Administratoren benachrichtigen, wenn neue Websiteinhalte in Firebase Hosting bereitgestellt werden.
Fügen Sie der Konfigurationsdatei firebase.json
Bash-Skripts hinzu, um Pre-Deploy- oder Postdeploy-Hooks einzurichten. Sie können kurze Skripts direkt in der Datei firebase.json
definieren oder auf andere Dateien in Ihrem Projektverzeichnis verweisen.
Das folgende Skript ist beispielsweise der Ausdruck firebase.json
für eine Postdeploy-Aufgabe, die nach erfolgreicher Bereitstellung in Firebase Hosting eine Slack-Nachricht sendet.
"hosting": {
// ...
"postdeploy": "./messageSlack.sh 'Just deployed to Firebase Hosting'",
"public": "public"
}
Die Skriptdatei messageSlack.sh
befindet sich im Projektverzeichnis und sieht so aus:
curl -X POST -H 'Content-type: application/json' --data '{"text":"$1"}' \https://SLACK_WEBHOOK_URL
Sie können predeploy
- und postdeploy
-Hooks für alle bereitstellenden Assets einrichten. Durch das Ausführen von firebase deploy
werden alle Aufgaben vor und nach der Bereitstellung ausgelöst, die in der Datei firebase.json
definiert sind. Wenn Sie nur die Aufgaben ausführen möchten, die einem bestimmten Firebase-Dienst zugeordnet sind, verwenden Sie Befehle für die Teilbereitstellung.
Die Hooks predeploy
und postdeploy
geben die Standardausgabe und Fehlerstreams der Skripts an das Terminal aus. Beachten Sie bei Fehlern Folgendes:
- Wenn ein Pre-Deploy-Hook nicht wie erwartet abgeschlossen wird, wird die Bereitstellung abgebrochen.
- Wenn die Bereitstellung aus irgendeinem Grund fehlschlägt, werden Postdeploy-Hooks nicht ausgelöst.
Umgebungsvariablen
In den Skripts, die in den Hooks "predeploy" und "postdeploy" ausgeführt werden, sind die folgenden Umgebungsvariablen verfügbar:
$GCLOUD_PROJECT
: Projekt-ID des aktiven Projekts$PROJECT_DIR
: das Stammverzeichnis, das die Dateifirebase.json
enthält$RESOURCE_DIR
: (nur fürhosting
- undfunctions
-Skripts): Der Speicherort des Verzeichnisses, das die bereitzustellenden Hosting- oder Cloud Functions-Ressourcen enthält
Mehrere Realtime Database-Instanzen verwalten
Ein Firebase-Projekt kann mehrere Firebase Realtime Database-Instanzen haben. Standardmäßig interagieren Befehlszeilenbefehle mit der default-Datenbankinstanz.
Sie können jedoch über das Flag --instance DATABASE_NAME
--instance
:
firebase database:get
firebase database:profile
firebase database:push
firebase database:remove
firebase database:set
firebase database:update
Befehlsreferenz
Administrative Befehle der Befehlszeile
Befehl | Beschreibung |
---|---|
help | Zeigt Hilfeinformationen zur Befehlszeile oder zu bestimmten Befehlen an. |
init | Verknüpft ein neues Firebase-Projekt im aktuellen Verzeichnis und richtet es ein.
Mit diesem Befehl wird im aktuellen Verzeichnis eine Konfigurationsdatei firebase.json erstellt. |
login | Die Befehlszeile wird in Ihrem Firebase-Konto authentifiziert. Erfordert Zugriff auf einen Webbrowser. Mit dem Flag --no-localhost localhost nicht zulässig ist, bei der Befehlszeile anmelden. |
login:ci | Generiert ein Authentifizierungstoken zur Verwendung in nicht interaktiven Umgebungen. |
Abmelden | Sie werden von der Befehlszeile aus Ihrem Firebase-Konto abgemeldet. |
offen | Öffnet einen Browser für relevante Projektressourcen. |
projects:list | Hier werden alle Firebase-Projekte aufgelistet, auf die Sie Zugriff haben. |
verwenden | Legt das aktive Firebase-Projekt für die Befehlszeile fest. Verwaltet Projektaliasse. |
Projektmanagement-Befehle
Befehl | Beschreibung | |
---|---|---|
Firebase-Projekte verwalten | ||
projects:addfirebase | Fügt einem vorhandenen Google Cloud-Projekt Firebase-Ressourcen hinzu. | |
projects:Erstellen | Ein neues Google Cloud-Projekt wird erstellt und ihm dann Firebase-Ressourcen hinzugefügt. | |
projects:list | Hier werden alle Firebase-Projekte aufgelistet, auf die Sie Zugriff haben. | |
Verwaltung von Firebase-Apps (iOS, Android, Web) | ||
apps:create | Erstellt eine neue Firebase-App im aktiven Projekt. | |
apps:list | Listet die registrierten Firebase-Apps im aktiven Projekt auf. | |
apps:sdkconfig | Druckt die Konfiguration der Google-Dienste einer Firebase-App. | |
setup:web | Eingestellt. Verwenden Sie stattdessen apps:sdkconfig und geben Sie web als Plattformargument an.Gibt die Konfiguration der Google-Dienste einer Firebase-Web-App aus. |
|
Verwaltung von SHA-Zertifikat-Hashes (nur Android) | ||
apps:android:sha:create \ FIREBASE_APP_ID SHA_HASH |
Fügt der angegebenen Firebase-Android-App den angegebenen SHA-Zertifikat-Hash hinzu. | |
apps:android:sha:delete \ FIREBASE_APP_ID SHA_HASH |
Löscht den angegebenen SHA-Zertifikat-Hash aus der angegebenen Firebase-Android-App. | |
apps:android:sha:list \ FIREBASE_APP_ID |
Listet die SHA-Zertifikat-Hashes für die angegebene Firebase-Android-App auf. |
Bereitstellung und lokale Entwicklung
Mit diesen Befehlen können Sie Ihre Firebase Hosting-Website bereitstellen und mit ihr interagieren.
Befehl | Beschreibung |
---|---|
deploy | Stellt Code und Assets aus Ihrem Projektverzeichnis im aktiven Projekt bereit. Für Firebase Hosting ist eine firebase.json -Konfigurationsdatei erforderlich.
|
Bedienung | Startet einen lokalen Webserver mit Ihrer Firebase Hosting-Konfiguration.
Für Firebase Hosting ist eine firebase.json -Konfigurationsdatei erforderlich. |
Befehle für die App-Bereitstellung
Befehl | Beschreibung |
---|---|
appdistribution:distrib \ --app FIREBASE_APP_ID |
Macht den Build für Tester verfügbar. |
appdistribution:testers:add | Fügt Tester zum Projekt hinzu. |
appdistribution:testers:remove | Tester werden aus dem Projekt entfernt. |
Befehle zur Authentifizierung (Nutzerverwaltung)
Befehl | Beschreibung |
---|---|
auth:export | Exportiert die Nutzerkonten des aktiven Projekts in eine JSON- oder CSV-Datei. Weitere Informationen finden Sie auf der Seite auth:import und auth:export. |
auth:import | Importiert die Nutzerkonten aus einer JSON- oder CSV-Datei in das aktive Projekt. Weitere Informationen finden Sie auf der Seite auth:import und auth:export. |
Cloud Firestore-Befehle
Befehl | Beschreibung |
---|---|
firestore:locations |
Listen Sie verfügbare Standorte für Ihre Cloud Firestore-Datenbank auf. |
firestore:databases:create DATABASE_ID |
Erstellen Sie in Ihrem Firebase-Projekt eine Datenbankinstanz im nativen Modus. Der Befehl verwendet die folgenden Flags:
|
firestore:databases:list |
Datenbanken in Ihrem Firebase-Projekt auflisten. |
firestore:databases:get DATABASE_ID |
Rufen Sie die Datenbankkonfiguration für eine bestimmte Datenbank in Ihrem Firebase-Projekt ab. |
firestore:databases:update DATABASE_ID |
Datenbankkonfiguration einer bestimmten Datenbank in Ihrem Firebase-Projekt aktualisieren. Es ist mindestens ein Flag erforderlich. Der Befehl verwendet die folgenden Flags:
|
firestore:databases:delete DATABASE_ID |
Löschen Sie eine Datenbank in Ihrem Firebase-Projekt. |
firestore:indexes |
Indexe für eine Datenbank in Ihrem Firebase-Projekt auflisten. Der Befehl verwendet das folgende Flag:
|
firestore:delete |
Löscht Dokumente in der Datenbank des aktiven Projekts. Mit der Befehlszeile können Sie alle Dokumente in einer Sammlung rekursiv löschen. Beachten Sie, dass für das Löschen von Cloud Firestore-Daten über die Befehlszeile Kosten für Lese- und Löschvorgänge anfallen. Weitere Informationen finden Sie unter Cloud Firestore-Abrechnung. Der Befehl verwendet das folgende Flag:
|
Cloud Functions for Firebase-Befehle
Befehl | Beschreibung |
---|---|
functions:config:clone | Es klont die Umgebung eines anderen Projekts in das aktive Firebase-Projekt. |
functions:config:get | Ruft vorhandene Konfigurationswerte der Cloud Functions-Funktionen des aktiven Projekts ab. |
functions:config:set | Speichert Laufzeitkonfigurationswerte der Cloud Functions-Funktionen des aktiven Projekts. |
functions:config:unset | Entfernt Werte aus der Laufzeitkonfiguration des aktiven Projekts. |
functions:log | Liest Logs aus bereitgestellten Cloud Functions-Funktionen. |
Weitere Informationen finden Sie in der Dokumentation zur Umgebungskonfiguration.
Crashlytics-Befehle
Befehl | Beschreibung |
---|---|
crashlytics:mappingfile:generateid \ --resource-file=PATH/TO/ANDROID_RESOURCE.XML |
Generiert eine eindeutige Zuordnungsdatei-ID in der angegebenen Android-Ressourcendatei (XML). |
crashlytics:mappingfile:upload \ --app=FIREBASE_APP_ID \ --resource-file=PATH/TO/ANDROID_RESOURCE.XML \ PATH/TO/MAPPING_FILE.TXT |
Lädt eine Proguard-kompatible Zuordnungsdatei (TXT) für diese App hoch und verknüpft sie mit der Zuordnungsdatei-ID, die in der angegebenen Android-Ressourcendatei (XML) deklariert ist. |
crashlytics:symbols:upload \ --app=FIREBASE_APP_ID \ PATH/TO/SYMBOLS |
Generiert eine mit Crashlytics kompatible Symboldatei für native Bibliotheksabstürze unter Android und lädt sie auf Firebase-Server hoch. |
Befehle für Erweiterungen
Befehl | Beschreibung |
---|---|
ext | Enthält Informationen zur Verwendung von Firebase Extensions-Befehlen. Listet die im aktiven Projekt installierten Erweiterungsinstanzen auf. |
ext:konfigurieren \ EXTENSION_INSTANCE_ID |
Die Parameterwerte einer Erweiterungsinstanz werden im Erweiterungsmanifest neu konfiguriert. |
ext:info \ PUBLISHER_ID/EXTENSION_ID |
Gibt detaillierte Informationen zu einer Erweiterung aus. |
ext:install \ PUBLISHER_ID/EXTENSION_ID |
Fügt Ihrem Erweiterungsmanifest eine neue Instanz einer Erweiterung hinzu. |
ext:liste | Listet alle in einem Firebase-Projekt installierten Erweiterungsinstanzen auf. Gibt die Instanz-ID für jede Erweiterung aus. |
ext:deinstallieren \ EXTENSION_INSTANCE_ID |
Entfernt eine Erweiterungsinstanz aus Ihrem Erweiterungsmanifest. |
ext:update \ EXTENSION_INSTANCE_ID |
Aktualisiert eine Erweiterungsinstanz im Erweiterungsmanifest auf die neueste Version. |
ext:export | Exportiert alle installierten Erweiterungsinstanzen aus Ihrem Projekt in Ihr Erweiterungsmanifest. |
Erweiterungen – Befehle von Publishern
Befehl | Beschreibung |
---|---|
ext:dev:init | Initialisiert die Basis-Codebasis für eine neue Erweiterung im aktuellen Verzeichnis. |
ext:dev:list \ PUBLISHER_ID |
Gibt eine Liste aller Erweiterungen aus, die von einem Publisher hochgeladen wurden. |
ext:dev:register | Registriert ein Firebase-Projekt als Erweiterungs-Publisher-Projekt |
ext:dev:deprecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE |
Erweiterungsversionen, die mit dem Versionsprädikat übereinstimmen, werden eingestellt. Ein Versionsprädikat kann eine einzelne Version (z. B. 1.0.0 ) oder ein Bereich von Versionen (z. B. >1.0.0 ) sein.Wenn kein Versionsprädikat angegeben ist, werden alle Versionen dieser Erweiterung verworfen. |
ext:dev:undeprecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE |
Erweiterungsversionen, die mit dem Versionsprädikat übereinstimmen, werden verworfen. Ein Versionsprädikat kann eine einzelne Version (z. B. 1.0.0 ) oder ein Bereich von Versionen (z. B. >1.0.0 ) sein.Wenn kein Versionsprädikat angegeben ist, werden alle Versionen dieser Erweiterung deaktiviert. |
ext:dev:upload \ PUBLISHER_ID/EXTENSION_ID |
Lädt eine neue Version einer Erweiterung hoch. |
ext:dev:usage \ PUBLISHER_ID |
Zeigt die Anzahl der Installationen und Nutzungsmesswerte für Erweiterungen an, die von einem Publisher hochgeladen wurden. |
Hosting-Befehle
Befehl | Beschreibung |
---|---|
hosting:disable |
Beendet die Bereitstellung von Firebase Hosting-Traffic für das aktive Firebase-Projekt. Nach der Ausführung dieses Befehls wird unter der Hosting-URL Ihres Projekts die Meldung „Website nicht gefunden“ angezeigt. |
Verwaltung von Hostingwebsites | |
firebase hosting:sites:create \ SITE_ID |
Erstellt mit dem angegebenen Optional: Geben Sie eine vorhandene Firebase-Web-App an, die mit der neuen Website verknüpft werden soll, indem Sie das folgende Flag übergeben: |
firebase hosting:sites:delete \ SITE_ID |
Löscht die angegebene Hosting-Website In der Befehlszeile wird vor dem Löschen der Website eine Bestätigungsaufforderung angezeigt. (Optional) Überspringen Sie die Bestätigungsaufforderung, indem Sie die folgenden Flags übergeben: |
firebase hosting:sites:get \ SITE_ID |
Ruft Informationen zur angegebenen Hosting-Website ab |
firebase hosting:sites:list |
Listet alle Hosting-Websites für das aktive Firebase-Projekt auf |
Verwaltung von Vorschaukanälen | |
firebase hosting:channel:create \ CHANNEL_ID |
Erstellt einen neuen Vorschaukanal auf der Standardhosting-Website unter Verwendung der angegebenen Dieser Befehl wird nicht auf dem Kanal bereitgestellt. |
firebase hosting:channel:delete \ CHANNEL_ID |
Löscht den angegebenen Vorschaukanal Sie können den Livekanal einer Website nicht löschen. |
firebase hosting:channel:deploy \ CHANNEL_ID |
Stellt Ihren Hosting-Inhalt und Ihre Hosting-Konfiguration im angegebenen Vorschaukanal bereit Wenn der Vorschaukanal noch nicht vorhanden ist, wird er mit diesem Befehl vor der Bereitstellung im Kanal auf der Hosting-Website default erstellt. |
firebase hosting:channel:list | Listet alle Kanäle (einschließlich des Livekanals) auf der Standardhosting-Website auf |
firebase hosting:channel:open \ CHANNEL_ID |
Öffnet einen Browser zur URL des angegebenen Kanals oder gibt die URL zurück, wenn das Öffnen in einem Browser nicht möglich ist |
Version klonen | |
firebase hosting:clone \ SOURCE_SITE_ID:SOURCE_CHANNEL_ID \ TARGET_SITE_ID:TARGET_CHANNEL_ID |
Klont die zuletzt bereitgestellte Version auf dem angegebenen Quellkanal in den angegebenen Zielkanal Dieser Befehl wird auch auf dem angegebenen Kanal „target“ bereitgestellt. Wenn der Kanal „Ziel“ noch nicht vorhanden ist, erstellt dieser Befehl vor der Bereitstellung auf dem Kanal einen neuen Vorschaukanal auf der Hosting-Website „Ziel“. |
firebase hosting:clone \ SOURCE_SITE_ID:@VERSION_ID \ TARGET_SITE_ID:TARGET_CHANNEL_ID |
Klont die angegebene Version in den angegebenen Zielkanal Dieser Befehl wird auch auf dem angegebenen Kanal „target“ bereitgestellt. Wenn der Kanal „Ziel“ noch nicht vorhanden ist, erstellt dieser Befehl vor der Bereitstellung auf dem Kanal einen neuen Vorschaukanal auf der Hosting-Website „Ziel“. Sie finden die |
Realtime Database-Befehle
Sie können Ihre erste Standardinstanz der Realtime Database in der Firebase Console oder mithilfe des allgemeinen firebase init
-Workflows oder des spezifischen Ablaufs firebase init database
erstellen.
Sobald Instanzen erstellt wurden, können Sie sie wie unter Mehrere Realtime Database-Instanzen verwalten beschrieben verwalten.
Befehl | Beschreibung |
---|---|
database:get | Ruft Daten aus der Datenbank des aktiven Projekts ab und zeigt sie im JSON-Format an. Unterstützt Abfragen von indexierten Daten. |
database:instances:create | Erstellt eine Datenbankinstanz mit einem angegebenen Instanznamen. Akzeptiert die Option --location zum Erstellen einer Datenbank in einer angegebenen Region. Informationen zu Regionsnamen, die mit dieser Option verwendet werden sollen, finden Sie unter Standorte für Ihr Projekt auswählen.
Wenn für das aktuelle Projekt keine Datenbankinstanz vorhanden ist, werden Sie aufgefordert, den Ablauf firebase init auszuführen, um eine Instanz zu erstellen.
|
database:instances:list | Listet alle Datenbankinstanzen für dieses Projekt auf. Akzeptiert die Option --location zum Auflisten von Datenbanken in einer angegebenen Region. Informationen zu Regionsnamen, die mit dieser Option verwendet werden sollen, finden Sie unter Standorte für Ihr Projekt auswählen. |
database:Profil | Erstellt ein Profil der Vorgänge in der Datenbank des aktiven Projekts. Weitere Informationen finden Sie unter Realtime Database-Vorgangstypen. |
database:push | Sendet neue Daten per Push an eine Liste an einem bestimmten Speicherort in der Datenbank des aktiven Projekts. Nimmt eine Eingabe aus einer Datei, STDIN oder einem Befehlszeilenargument an. |
database:entfernen | Löscht alle Daten an einem bestimmten Speicherort in der Datenbank des aktiven Projekts. |
database:set | Ersetzt alle Daten an einem bestimmten Speicherort in der Datenbank des aktiven Projekts. Nimmt eine Eingabe aus einer Datei, einer STDIN oder einem Befehlszeilenargument an. |
database:update | Führt eine Teilaktualisierung an einem angegebenen Speicherort in der Datenbank des aktiven Projekts durch. Nimmt eine Eingabe aus einer Datei, STDIN oder einem Befehlszeilenargument an. |
Remote Config-Befehle
Befehl | Beschreibung |
---|---|
remoteconfig:versions:list \ --limit NUMBER_OF_VERSIONS |
Listet die letzten zehn Versionen der Vorlage auf. Geben Sie 0 an, um alle vorhandenen Versionen zurückzugeben, oder geben Sie optional die Option --limit an, um die Anzahl der zurückgegebenen Versionen zu begrenzen. |
remoteconfig:get \ --v, Versionsnummer VERSION_NUMBER --o, Ausgabe FILENAME |
Ruft die Vorlage nach Version ab (standardmäßig die neueste Version) und gibt die Parametergruppen, Parameter, Bedingungsnamen und die Version in einer Tabelle aus. Optional können Sie die Ausgabe mit -o, FILENAME in eine bestimmte Datei schreiben. |
remoteconfig:rollback \ --v, Versionsnummer VERSION_NUMBER --force |
Führt ein Rollback der Remote Config-Vorlage auf eine angegebene vorherige Versionsnummer durch oder verwendet standardmäßig die unmittelbar vorherige Version (aktuelle Version -1). Sofern --force nicht übergeben wird, wird J/N angefordert, bevor mit dem Rollback fortgefahren wird. |