Firebase CLI-Referenz

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 macOS Linux

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:

  1. Laden Sie das Firebase CLI-Binärprogramm für Windows herunter.

  2. Rufen Sie die Binärdatei auf, um eine Shell zu öffnen, in der Sie den Befehl firebase ausführen können.

  3. Melden Sie sich an und testen Sie die Befehlszeile.

npm

Führen Sie die folgenden Schritte aus, um npm (Node Package Manager) zum Installieren von Firebase CLI zu verwenden:

  1. Installieren Sie Node.js mit nvm-windows (Node Version Manager). Bei der Installation von Node.js werden automatisch die npm-Befehlszeilentools installiert.

  2. 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.

  3. Melden Sie sich an und testen Sie die Befehlszeile.

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:

  1. 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.

  2. Melden Sie sich an und testen Sie die Befehlszeile.

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:

  1. Laden Sie das Firebase CLI-Binärprogramm für Ihr Betriebssystem herunter: macOS | Linux

  2. (Optional) Richten Sie den global verfügbaren firebase-Befehl ein.

    1. Machen Sie die Binärdatei ausführbar, indem Sie chmod +x ./firebase_tools ausführen.
    2. Fügen Sie den Pfad des Binärprogramms zu Ihrem PATH hinzu.
  3. Melden Sie sich an und testen Sie die Befehlszeile.

npm

Wenn Sie npm (Node Package Manager) zum Installieren der Firebase CLI verwenden möchten, gehen Sie so vor:

  1. Installieren Sie Node.js mit nvm (Node Version Manager).
    Bei der Installation von Node.js werden die npm-Befehlszeilentools automatisch installiert.

  2. 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.

  3. Melden Sie sich an und testen Sie die Befehlszeile.

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.

  1. 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.

  2. 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

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.

  1. Installieren Sie die Firebase CLI auf einem Computer mit einem Browser.

  2. Starten Sie die Anmeldung mit dem folgenden Befehl:

    firebase login:ci
  3. Rufen Sie die angegebene URL auf und melden Sie sich mit einem Google-Konto an.

  4. Geben Sie ein neues Aktualisierungstoken aus. Die aktuelle Befehlszeilensitzung ist nicht betroffen.

  5. Speichern Sie das Ausgabetoken sicher, aber zugänglich in Ihrem CI-System.

  6. 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 \
PROJECT_ID|ALIAS
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 PROJECT_ID|ALIAS aus, um ein neues aktives Projekt festzulegen, bevor Sie andere CLI-Befehle ausführen.

firebase use \
--unalias PROJECT_ALIAS
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 firebase deploy --project=prod 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 Befehl firebase 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 Datei firebase.json enthält
  • $RESOURCE_DIR: (nur für hosting- und functions-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 mit einer nicht standardmäßigen Datenbankinstanz interagieren. Die folgenden Befehle unterstützen das Flag --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 können Sie sich in Remote-Umgebungen, in denen der Zugriff auf 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:

  • --location <region name> zum Angeben des Bereitstellungsstandorts für die Datenbank. Sie können firebasefirestore:locations ausführen, um die verfügbaren Standorte aufzulisten. Erforderlich.
  • --delete-protection <deleteProtectionState>, um das Löschen der angegebenen Datenbank zuzulassen oder zu verhindern. Gültige Werte sind ENABLED und DISABLED. Die Standardeinstellung ist DISABLED.
  • --point-in-time-recovery <PITRState>, um festzulegen, ob die Wiederherstellung zu einem bestimmten Zeitpunkt aktiviert ist. Gültige Werte sind ENABLED und DISABLED. Die Standardeinstellung ist DISABLED. Optional.
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:

  • --delete-protection <deleteProtectionState>, um das Löschen der angegebenen Datenbank zuzulassen oder zu verhindern. Gültige Werte sind ENABLED und DISABLED. Die Standardeinstellung ist DISABLED.
  • --point-in-time-recovery <PITRState>, um festzulegen, ob die Wiederherstellung zu einem bestimmten Zeitpunkt aktiviert ist. Gültige Werte sind ENABLED und DISABLED. Die Standardeinstellung ist DISABLED. Optional.
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:

  • --database DATABASE_ID zum Angeben des Namens der Datenbank, für die Indexe aufgelistet werden sollen. Wenn nicht angegeben, werden Indexe für die Standarddatenbank aufgelistet.
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:

  • --database DATABASE_ID, um den Namen der Datenbank anzugeben, aus der Dokumente gelöscht werden sollen. Wenn keine Angabe erfolgt, werden Dokumente aus der Standarddatenbank gelöscht. Optional.

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 SITE_ID eine neue Hosting-Website im aktiven Firebase-Projekt

Optional: Geben Sie eine vorhandene Firebase-Web-App an, die mit der neuen Website verknüpft werden soll, indem Sie das folgende Flag übergeben: --app FIREBASE_APP_ID

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: -f oder --force.

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 CHANNEL_ID.

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 VERSION_ID im Hosting-Dashboard der Firebase Console.

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.