Firebase-CLI-Referenz

Die Firebase-CLI ( GitHub ) bietet eine Vielzahl von Tools zum Verwalten, Anzeigen und Bereitstellen in Firebase-Projekten.

Bevor Sie die Firebase-CLI verwenden, richten Sie ein Firebase-Projekt ein .

Richten Sie die CLI ein oder aktualisieren Sie sie

Installieren Sie die Firebase-CLI

Sie können die Firebase-CLI mit einer Methode installieren, die Ihrem Betriebssystem, Ihrer Erfahrungsstufe und/oder Ihrem Anwendungsfall entspricht. Unabhängig davon, wie Sie die CLI installieren, haben Sie Zugriff auf dieselben Funktionen und den firebase Befehl.

Windows macOS Linux

Windows

Sie können die Firebase-CLI für Windows mit einer der folgenden Optionen installieren:

Möglichkeit Beschreibung Empfohlen für...
eigenständige Binärdatei Laden Sie die eigenständige Binärdatei für die CLI herunter. Anschließend können Sie auf die ausführbare Datei zugreifen, um eine Shell zu öffnen, in der Sie den firebase Befehl ausführen können. Neue Entwickler

Entwickler, die Node.js nicht verwenden oder damit nicht vertraut sind
npm Verwenden Sie npm (den Node Package Manager), um die CLI zu installieren und den global verfügbaren firebase Befehl zu aktivieren. Entwickler, die Node.js verwenden

eigenständige Binärdatei

Führen Sie die folgenden Schritte aus, um die Binärdatei für die Firebase-CLI herunterzuladen und auszuführen:

  1. Laden Sie die Firebase-CLI-Binärdatei für Windows herunter.

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

  3. Melden Sie sich weiterhin an und testen Sie die CLI .

npm

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

  1. Installieren Sie Node.js mit nvm-windows (dem Node Version Manager). Durch die Installation von Node.js werden die npm Befehlstools 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 weiterhin an und testen Sie die CLI .

macOS oder Linux

Sie können die Firebase-CLI für macOS oder Linux mit einer der folgenden Optionen installieren:

Möglichkeit Beschreibung Empfohlen für...
Automatisches Installationsskript Führen Sie einen einzelnen Befehl aus, der Ihr Betriebssystem automatisch erkennt, die neueste CLI-Version herunterlädt und dann den global verfügbaren firebase Befehl aktiviert. Neue Entwickler

Entwickler, die Node.js nicht verwenden oder damit nicht vertraut sind

Automatisierte Bereitstellungen in einer CI/CD- Umgebung
eigenständige Binärdatei Laden Sie die eigenständige Binärdatei für die CLI herunter. Anschließend können Sie die Binärdatei entsprechend Ihrem Arbeitsablauf konfigurieren und ausführen. Vollständig anpassbare Arbeitsabläufe mithilfe der CLI
npm Verwenden Sie npm (den Node Package Manager), um die CLI zu installieren und den global verfügbaren firebase Befehl zu aktivieren. Entwickler, die Node.js verwenden

Skript zur automatischen Installation

Führen Sie die folgenden Schritte aus, um die Firebase-CLI mithilfe des automatischen Installationsskripts zu installieren:

  1. Führen Sie den folgenden cURL-Befehl aus:

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

    Dieses Skript erkennt Ihr Betriebssystem automatisch, lädt die neueste Firebase-CLI-Version herunter und aktiviert dann den global verfügbaren firebase Befehl.

  2. Melden Sie sich weiterhin an und testen Sie die CLI .

Weitere Beispiele und Details zum automatischen Installationsskript finden Sie im Quellcode des Skripts unter firebase.tools .

eigenständige Binärdatei

Führen Sie die folgenden Schritte aus, um die Binärdatei für die für Ihr Betriebssystem spezifische Firebase-CLI herunterzuladen und auszuführen:

  1. Laden Sie die Firebase-CLI-Binärdatei 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 der Binärdatei zu Ihrem PATH hinzu.
  3. Melden Sie sich weiterhin an und testen Sie die CLI .

npm

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

  1. Installieren Sie Node.js mit nvm (dem Node Version Manager).
    Durch die Installation von Node.js werden die npm Befehlstools 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 weiterhin an und testen Sie die CLI .

Melden Sie sich an und testen Sie die Firebase-CLI

Nach der Installation der CLI 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 bei Firebase an, indem Sie den folgenden Befehl ausführen:

    firebase login

    Dieser Befehl verbindet Ihren lokalen Computer mit Firebase und gewährt Ihnen Zugriff auf Ihre Firebase-Projekte.

  2. Testen Sie, ob die CLI ordnungsgemäß installiert ist und auf Ihr Konto zugreift, indem Sie Ihre Firebase-Projekte auflisten. Führen Sie den folgenden Befehl aus:

    firebase projects:list

    Die angezeigte Liste sollte mit den in der Firebase-Konsole aufgeführten Firebase-Projekten übereinstimmen.

Aktualisieren Sie auf die neueste CLI-Version

Im Allgemeinen möchten Sie die aktuellste Firebase-CLI-Version verwenden.

Wie Sie die CLI-Version aktualisieren, hängt von Ihrem Betriebssystem und der Art und Weise ab, wie Sie die CLI installiert haben.

Windows

Mac OS

  • Automatisches Installationsskript : Führen Sie curl -sL https://firebase.tools | upgrade=true bash aus curl -sL https://firebase.tools | upgrade=true bash
  • Standalone-Binärdatei : 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 curl -sL https://firebase.tools | upgrade=true bash
  • Standalone-Binärdatei : Laden Sie die neue Version herunter und ersetzen Sie sie dann auf Ihrem System
  • npm : Führen Sie npm install -g firebase-tools aus

Verwenden Sie die CLI mit CI-Systemen

Die Firebase-CLI erfordert einen Browser, um die Authentifizierung abzuschließen, aber die CLI ist vollständig kompatibel mit CI und anderen Headless-Umgebungen.

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

  2. Starten Sie den Anmeldevorgang, indem Sie den folgenden Befehl ausführen:

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

  4. Drucken Sie ein neues Aktualisierungstoken . Die aktuelle CLI-Sitzung ist davon 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 beiden folgenden Optionen verwenden:

    • Option 1: Speichern Sie das Token als Umgebungsvariable FIREBASE_TOKEN . Ihr System verwendet den Token automatisch.

    • Option 2: Führen Sie alle firebase Befehle mit dem Flag --token TOKEN in Ihrem CI-System aus.
      Dies ist die Rangfolge für das Laden von Token: Flag, Umgebungsvariable, gewünschtes Firebase-Projekt.

Initialisieren Sie ein Firebase-Projekt

Für viele allgemeine Aufgaben, die mit der CLI ausgeführt werden, wie z. B. die Bereitstellung in einem Firebase-Projekt, ist ein Projektverzeichnis erforderlich. Sie erstellen ein Projektverzeichnis mit dem firebase init Befehl. Ein Projektverzeichnis ist normalerweise dasselbe Verzeichnis wie Ihr Quellcodeverwaltungsstammverzeichnis. Nach der Ausführung firebase init enthält das Verzeichnis eine firebase.json Konfigurationsdatei.

Um ein neues Firebase-Projekt zu initialisieren, führen Sie den folgenden Befehl im Verzeichnis Ihrer App aus:

firebase init

Der Befehl firebase init führt Sie Schritt für Schritt durch die Einrichtung Ihres Projektverzeichnisses und einiger Firebase-Produkte. Während der Projektinitialisierung werden Sie von der Firebase-CLI aufgefordert, die folgenden Aufgaben auszuführen:

  • Wählen Sie die gewünschten 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 Einzelheiten zu diesen Konfigurationen finden Sie in der Dokumentation des jeweiligen Produkts (z. B. Hosting ). Beachten Sie, dass Sie firebase init später jederzeit ausführen können, um weitere Firebase-Produkte einzurichten.

  • Wählen Sie ein Standard-Firebase-Projekt aus.

    Dieser Schritt verknüpft das aktuelle Projektverzeichnis mit einem Firebase-Projekt, 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) demselben Projektverzeichnis zuzuordnen .

Am Ende der Initialisierung erstellt Firebase automatisch die folgenden zwei Dateien im Stammverzeichnis Ihres lokalen App-Verzeichnisses:

  • Eine firebase.json Konfigurationsdatei, die Ihre Projektkonfiguration auflistet.

  • Eine .firebaserc Datei, die Ihre Projekt- Aliase speichert.

Die Datei firebase.json

Der Befehl firebase init erstellt eine Konfigurationsdatei firebase.json im Stammverzeichnis Ihres Projektverzeichnisses.

Die Datei firebase.json ist zum Bereitstellen von Assets mit der Firebase-CLI erforderlich, da sie angibt, welche Dateien und Einstellungen aus Ihrem Projektverzeichnis in Ihrem Firebase-Projekt bereitgestellt werden. Da einige Einstellungen entweder in Ihrem Projektverzeichnis oder in der Firebase-Konsole definiert werden können, stellen Sie sicher, dass Sie alle potenziellen Bereitstellungskonflikte lösen.

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 , erstellt der firebase init -Befehl jedoch bestimmte Dateien, in denen Sie Einstellungen für diese Dienste definieren können, beispielsweise eine index.js Datei für Cloud Functions. Sie können auch Predeploy- oder Postdeploy-Hooks in der Datei firebase.json einrichten.

Das Folgende ist ein Beispiel für eine firebase.json Datei mit Standardeinstellungen, wenn Sie während der Initialisierung Firebase Hosting, Cloud Firestore und Cloud Functions für Firebase (mit ausgewählten TypeScript-Quellen- 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"
    ]
  }
}

Während standardmäßig firebase.json 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 Ihre Datei firebase.json einen einzelnen firestore Schlüssel, der der Standarddatenbank Ihres Projekts entspricht, wie oben gezeigt.

Wenn Ihr Projekt mehrere Cloud Firestore-Datenbanken enthält, bearbeiten Sie Ihre 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

Zum Zeitpunkt der Funktionsbereitstellung gibt die CLI automatisch eine Liste von Dateien im functions an, die ignoriert werden sollen. Dies verhindert die Bereitstellung fremder Dateien im Backend, die die Datengröße Ihrer Bereitstellung erhöhen könnten.

Die Liste der standardmäßig ignorierten Dateien, die im JSON-Format angezeigt wird, lautet:

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

Wenn Sie Ihre eigenen benutzerdefinierten Werte für ignore in firebase.json hinzufügen, stellen Sie sicher, dass Sie die oben angezeigte Liste der Dateien beibehalten (oder hinzufügen, falls sie fehlt).

Projekt-Aliase verwalten

Sie können mehrere Firebase-Projekte demselben Projektverzeichnis zuordnen. Beispielsweise möchten Sie möglicherweise ein Firebase-Projekt für die Bereitstellung 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 Aliasen wechseln und neue Aliase erstellen.

Fügen Sie einen Projektalias hinzu

Wenn Sie während der Projektinitialisierung ein Firebase-Projekt auswählen, wird dem Projekt automatisch der Alias ​​„ default zugewiesen. Um jedoch zu ermöglichen, dass projektspezifische Befehle für ein anderes Firebase-Projekt ausgeführt werden, aber dennoch dasselbe Projektverzeichnis verwenden, führen Sie den folgenden Befehl in Ihrem Projektverzeichnis aus:

firebase use --add

Dieser Befehl fordert Sie auf, ein anderes Firebase-Projekt auszuwählen und das Projekt als Alias ​​zuzuweisen. Aliaszuweisungen werden in eine .firebaserc Datei in Ihrem Projektverzeichnis geschrieben.

Verwenden Sie Projektaliasnamen

Um zugewiesene Firebase-Projektaliase zu verwenden, führen Sie einen der folgenden Befehle in Ihrem Projektverzeichnis aus.

Befehl Beschreibung
firebase use Zeigen Sie eine Liste der aktuell definierten Aliase für Ihr Projektverzeichnis an
firebase use \
PROJECT_ID|ALIAS
Leitet alle Befehle an, für das angegebene Firebase-Projekt ausgeführt zu werden.
Die CLI verwendet dieses Projekt als aktuell „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 das aktuell aktive Projekt überschreiben, indem Sie das Flag --project mit einem beliebigen CLI-Befehl übergeben. Als Beispiel: Sie können Ihre CLI so einstellen, dass sie für ein Firebase-Projekt ausgeführt wird, dem Sie den staging Alias ​​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.

Quellcodeverwaltung und Projektaliase

Im Allgemeinen sollten Sie Ihre .firebaserc Datei in die Quellcodeverwaltung einchecken, damit Ihr Team Projektaliase teilen kann. Bei Open-Source-Projekten oder Starter-Vorlagen sollten Sie Ihre .firebaserc Datei jedoch grundsätzlich nicht einchecken.

Wenn Sie ein Entwicklungsprojekt haben, das nur für Ihren Gebrauch bestimmt ist, können Sie entweder das Flag --project mit jedem Befehl übergeben oder firebase use PROJECT_ID ausführen, ohne dem Firebase-Projekt einen Alias ​​zuzuweisen.

Stellen Sie Ihr Firebase-Projekt lokal bereit und testen Sie es

Sie können Ihr Firebase-Projekt auf lokal gehosteten URLs anzeigen und testen, bevor Sie es in der Produktion bereitstellen. Wenn Sie nur ausgewählte Funktionen testen möchten, können Sie eine durch Kommas getrennte Liste in einem Flag im firebase serve Befehl verwenden.

Führen Sie den folgenden Befehl im Stammverzeichnis Ihres lokalen Projektverzeichnisses aus, wenn Sie eine der folgenden Aufgaben ausführen möchten:

  • Sehen Sie sich den statischen Inhalt Ihrer von Firebase gehosteten App an.
  • Verwenden Sie Cloud Functions, um dynamische Inhalte für Firebase Hosting zu generieren , und Sie möchten Ihre produktiven (bereitgestellten) HTTP-Funktionen verwenden, um Hosting auf einer lokalen URL zu emulieren.
firebase serve --only hosting

Emulieren Sie Ihr Projekt mit lokalen HTTP-Funktionen

Führen Sie einen der folgenden Befehle in Ihrem Projektverzeichnis aus, um Ihr Projekt mithilfe lokaler HTTP-Funktionen zu emulieren.

  • Um HTTP-Funktionen und Hosting zum Testen auf lokalen URLs zu emulieren, verwenden Sie einen der folgenden Befehle:

    firebase serve
    firebase serve --only functions,hosting // uses a flag
  • Um nur HTTP-Funktionen zu emulieren, verwenden Sie den folgenden Befehl:

    firebase serve --only functions

Testen Sie von anderen lokalen Geräten aus

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 von anderen lokalen Geräten aus testen möchten, verwenden Sie das Flag --host , etwa 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 für Ihr Firebase-Projekt, einschließlich:

  • Neue Versionen Ihrer Firebase-Hosting-Sites
  • Neue, aktualisierte oder vorhandene Cloud Functions für Firebase
  • Regeln für die Firebase-Echtzeitdatenbank
  • Regeln für Cloud Storage für Firebase
  • Regeln für Cloud Firestore
  • Indizes für Cloud Firestore

Führen Sie zum Bereitstellen in einem Firebase-Projekt den folgenden Befehl in Ihrem Projektverzeichnis aus:

firebase deploy

Sie können optional zu jeder Ihrer Bereitstellungen einen Kommentar hinzufügen. Dieser Kommentar wird zusammen mit den anderen Bereitstellungsinformationen auf der Firebase-Hosting-Seite Ihres Projekts angezeigt. Zum Beispiel:

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

Beachten Sie Folgendes, wenn Sie den firebase deploy Befehl verwenden:

  • Um Ressourcen aus einem Projektverzeichnis bereitzustellen, muss das Projektverzeichnis über eine Datei firebase.json verfügen. Diese Datei wird vom firebase init -Befehl automatisch für Sie erstellt.

  • Standardmäßig erstellt firebase deploy eine Version für alle bereitstellbaren Ressourcen in Ihrem Projektverzeichnis. Um bestimmte Firebase-Dienste oder -Funktionen bereitzustellen, verwenden Sie die Teilbereitstellung .

Bereitstellungskonflikte für 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-Konsole definieren.

Eine weitere Möglichkeit, Bereitstellungskonflikte zu vermeiden, besteht darin, eine Teilbereitstellung zu verwenden und Regeln nur in der Firebase-Konsole zu definieren.

Bereitstellungskontingente

Es ist möglich (aber unwahrscheinlich), dass Sie ein Kontingent überschreiten, das die Geschwindigkeit oder das Volumen Ihrer Firebase-Bereitstellungsvorgänge begrenzt. Wenn Sie beispielsweise eine sehr große Anzahl von Funktionen bereitstellen, erhalten Sie möglicherweise die HTTP 429 Quota . Um solche Probleme zu lösen, versuchen Sie es mit der teilweisen Bereitstellung .

Setzen Sie eine Bereitstellung zurück

Sie können eine Firebase Hosting-Bereitstellung über die Firebase Hosting-Seite Ihres Projekts zurücksetzen, indem Sie die Rollback- Aktion für die gewünschte Version auswählen.

Es ist derzeit nicht möglich, Versionen von Sicherheitsregeln für Firebase Realtime Database, Cloud Storage for Firebase oder Cloud Firestore zurückzusetzen.

Stellen Sie bestimmte Firebase-Dienste bereit

Wenn Sie nur bestimmte Firebase-Dienste oder -Funktionen bereitstellen möchten, können Sie eine durch Kommas getrennte Liste in einem Flag im firebase deploy Befehl 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 Funktionen aufgeführt, die für die teilweise Bereitstellung verfügbar sind. Die Namen in den Flags entsprechen den Schlüsseln in Ihrer firebase.json Konfigurationsdatei.

Flag-Syntax Dienst oder Funktion bereitgestellt
--only hosting Firebase Hosting-Inhalte
--only database Regeln für die Firebase-Echtzeitdatenbank
--only storage Cloud Storage für Firebase-Regeln
--only firestore Cloud Firestore-Regeln und -Indizes für alle konfigurierten Datenbanken
--only functions Cloud Functions für Firebase ( speziellere Versionen dieser Flagge sind möglich)

Stellen Sie bestimmte Funktionen bereit

Beim Bereitstellen von Funktionen können Sie auf bestimmte Funktionen abzielen. Zum Beispiel:

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

Eine weitere Möglichkeit besteht darin, Funktionen in Exportgruppen in Ihrer Datei /functions/index.js zu gruppieren. Durch das Gruppieren von Funktionen können Sie mehrere Funktionen mit einem einzigen Befehl bereitstellen.

Sie können beispielsweise die folgenden Funktionen schreiben, um eine groupA und eine 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 Datei functions/groupB.js zusätzliche Funktionen, die speziell die Funktionen in groupB definieren. Zum 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

Oder Sie können eine bestimmte Funktion innerhalb einer Gruppe als Ziel festlegen, indem Sie den folgenden Befehl ausführen:

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 mehr als eine Funktion:

    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

Richten Sie skriptbasierte Aufgaben vor und nach der Bereitstellung ein

Sie können Shell-Skripte mit dem firebase deploy -Befehl verbinden, um Aufgaben vor oder nach der Bereitstellung auszuführen. Beispielsweise könnte ein Predeploy-Skript TypeScript-Code in JavaScript transpilieren und ein Postdeploy-Hook könnte Administratoren über die Bereitstellung neuer Websiteinhalte auf Firebase Hosting informieren.

Um Predeploy- oder Postdeploy-Hooks einzurichten, fügen Sie Bash-Skripte zu Ihrer firebase.json Konfigurationsdatei hinzu. 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 firebase.json Ausdruck für eine Postdeploy-Aufgabe, die bei erfolgreicher Bereitstellung auf 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 folgendermaßen 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 Assets einrichten, die Sie bereitstellen können . Beachten Sie, dass die Ausführung firebase deploy alle in Ihrer Datei firebase.json definierten Aufgaben vor und nach der Bereitstellung auslöst. Um nur die Aufgaben auszuführen, die mit einem bestimmten Firebase-Dienst verknüpft sind, verwenden Sie Teilbereitstellungsbefehle .

Sowohl predeploy als auch postdeploy Hooks geben die Standardausgabe- und Fehlerströme der Skripts an das Terminal aus. Beachten Sie im Fehlerfall Folgendes:

  • Wenn ein Predeploy-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 Skripten, die in den Predeploy- und Postdeploy-Hooks ausgeführt werden, sind die folgenden Umgebungsvariablen verfügbar:

  • $GCLOUD_PROJECT : Die Projekt-ID des aktiven Projekts
  • $PROJECT_DIR : Das Stammverzeichnis, das die Datei firebase.json enthält
  • $RESOURCE_DIR : (Nur für hosting und functions ) Der Speicherort des Verzeichnisses, das die bereitzustellenden Hosting- oder Cloud Functions-Ressourcen enthält

Verwalten Sie mehrere Echtzeitdatenbankinstanzen

Ein Firebase-Projekt kann mehrere Firebase Realtime Database-Instanzen haben. Standardmäßig interagieren CLI-Befehle mit Ihrer Standarddatenbankinstanz .

Sie können jedoch mit einer nicht standardmäßigen Datenbankinstanz interagieren, indem Sie die verwenden --instance DATABASE_NAME -Flag. 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

CLI-Verwaltungsbefehle

Befehl Beschreibung
helfen Zeigt Hilfeinformationen zur CLI oder zu bestimmten Befehlen an.
drin Ordnet ein neues Firebase-Projekt im aktuellen Verzeichnis zu und richtet es ein. Dieser Befehl erstellt eine firebase.json Konfigurationsdatei im aktuellen Verzeichnis.
Anmeldung Authentifiziert die CLI bei Ihrem Firebase-Konto. Erfordert Zugriff auf einen Webbrowser.
Um sich in Remote-Umgebungen, die keinen Zugriff auf localhost zulassen, bei der CLI anzumelden, verwenden Sie die --no-localhost Flag.
login:ci Erzeugt ein Authentifizierungstoken zur Verwendung in nicht interaktiven Umgebungen.
Ausloggen Meldet die CLI von Ihrem Firebase-Konto ab.
offen Öffnet einen Browser mit relevanten Projektressourcen.
Projekte:Liste Listet alle Firebase-Projekte auf, auf die Sie Zugriff haben.
verwenden Legt das aktive Firebase-Projekt für die CLI fest.
Verwaltet Projekt-Aliase .

Befehle für das Projektmanagement

Befehl Beschreibung
Management von Firebase-Projekten
Projekte:addfirebase Fügt Firebase-Ressourcen zu einem vorhandenen Google Cloud-Projekt hinzu.
Projekte:erstellen Erstellt ein neues Google Cloud-Projekt und fügt dann Firebase-Ressourcen zum neuen Projekt hinzu.
Projekte:Liste Listet alle Firebase-Projekte auf, auf die Sie Zugriff haben.
Verwaltung von Firebase-Apps (iOS, Android, Web)
Apps: erstellen Erstellt eine neue Firebase-App im aktiven Projekt.
Apps:Liste Listet die registrierten Firebase-Apps im aktiven Projekt auf.
apps:sdkconfig Druckt die Google-Dienstkonfiguration einer Firebase-App.
setup:web Veraltet. Verwenden Sie stattdessen apps:sdkconfig und geben Sie web als Plattformargument an.
Druckt die Google-Dienstkonfiguration einer Firebase-Web-App.
Verwaltung von SHA-Zertifikat-Hashes (nur Android)
apps:android:sha:create \
FIREBASE_APP_ID SHA_HASH
Fügt den angegebenen SHA-Zertifikat-Hash zur angegebenen Firebase-Android-App 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-Site bereitstellen und mit ihr interagieren.

Befehl Beschreibung
einsetzen Stellt Code und Assets aus Ihrem Projektverzeichnis im aktiven Projekt bereit. Für Firebase Hosting ist eine firebase.json Konfigurationsdatei erforderlich.
Aufschlag Startet einen lokalen Webserver mit Ihrer Firebase Hosting-Konfiguration. Für Firebase Hosting ist eine firebase.json Konfigurationsdatei erforderlich.

Befehle zur App-Verteilung

Befehl Beschreibung
appdistribution:distribute \
--app FIREBASE_APP_ID
Stellt den Build Testern zur Verfügung.
appdistribution:testers:add Fügt Tester zum Projekt hinzu.
appdistribution:testers:remove Entfernt Tester aus dem Projekt.

Authentifizierungsbefehle (Benutzerverwaltung).

Befehl Beschreibung
auth:exportieren Exportiert die Benutzerkonten des aktiven Projekts in eine JSON- oder CSV-Datei. Weitere Einzelheiten finden Sie auf der Seite auth:import und auth:export .
auth:import Importiert die Benutzerkonten aus einer JSON- oder CSV-Datei in das aktive Projekt. Weitere Einzelheiten finden Sie auf der Seite auth:import und auth:export .

Cloud Firestore-Befehle

Befehl Beschreibung
firestore:Standorte

Listen Sie die verfügbaren Speicherorte 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 akzeptiert die folgenden Flags:

  • --location <Regionsname>, um den Bereitstellungsort für die Datenbank anzugeben. Beachten Sie, dass Sie Firebase firestore:locations ausführen können, um verfügbare Standorte aufzulisten. Erforderlich .
  • --delete-protection <deleteProtectionState> , um das Löschen der angegebenen Datenbank zuzulassen oder zu verhindern. Gültige Werte sind ENABLED oder DISABLED . Standardmäßig ist DISABLED .
  • --point-in-time-recovery <PITRState> , um festzulegen, ob die Point-in-Time-Wiederherstellung aktiviert ist. Gültige Werte sind ENABLED oder DISABLED . Standardmäßig ist DISABLED . Optional.
firestore:databases:list

Listen Sie Datenbanken in Ihrem Firebase-Projekt auf.

firestore:databases:get DATABASE_ID

Rufen Sie die Datenbankkonfiguration für eine bestimmte Datenbank in Ihrem Firebase-Projekt ab.

firestore:databases:update DATABASE_ID

Aktualisieren Sie die Datenbankkonfiguration einer angegebenen Datenbank in Ihrem Firebase-Projekt.

Es ist mindestens eine Flagge erforderlich. Der Befehl akzeptiert die folgenden Flags:

  • --delete-protection <deleteProtectionState> , um das Löschen der angegebenen Datenbank zuzulassen oder zu verhindern. Gültige Werte sind ENABLED oder DISABLED . Standardmäßig ist DISABLED .
  • --point-in-time-recovery <PITRState> , um festzulegen, ob die Point-in-Time-Wiederherstellung aktiviert ist. Gültige Werte sind ENABLED oder DISABLED . Standardmäßig ist DISABLED . Optional.
firestore:databases:delete DATABASE_ID

Löschen Sie eine Datenbank in Ihrem Firebase-Projekt.

firestore:indizes

Listen Sie Indizes für eine Datenbank in Ihrem Firebase-Projekt auf.

Der Befehl akzeptiert das folgende Flag:

  • --database DATABASE_ID um den Namen der Datenbank anzugeben, für die Indizes aufgelistet werden sollen. Falls nicht angegeben, werden Indizes für die Standarddatenbank aufgeführt.
Firestore: löschen

Löscht Dokumente in der Datenbank des aktiven Projekts. Mit der CLI können Sie alle Dokumente in einer Sammlung rekursiv löschen.

Beachten Sie, dass beim Löschen von Cloud Firestore-Daten mit der CLI Lese- und Löschkosten anfallen. Weitere Informationen finden Sie unter Cloud Firestore-Abrechnung verstehen .

Der Befehl akzeptiert das folgende Flag:

  • --database DATABASE_ID , um den Namen der Datenbank anzugeben, aus der Dokumente gelöscht werden. Wenn nicht angegeben, werden Dokumente aus der Standarddatenbank gelöscht. Optional.

Cloud Functions für Firebase-Befehle

Befehl Beschreibung
Funktionen:config:clone Klont die Umgebung eines anderen Projekts in das aktive Firebase-Projekt.
Funktionen:config:get Ruft vorhandene Konfigurationswerte der Cloud-Funktionen des aktiven Projekts ab.
Funktionen:config:set Speichert Laufzeitkonfigurationswerte der Cloud-Funktionen des aktiven Projekts.
Funktionen:config:unset Entfernt Werte aus der Laufzeitkonfiguration des aktiven Projekts.
Funktionen:log Liest Protokolle von bereitgestellten Cloud-Funktionen.

Weitere Informationen finden Sie in der Dokumentation zur Umgebungskonfiguration .

Crashlytics-Befehle

Befehl Beschreibung
crashlytics:mappingfile:generateid \
--resource-file= PATH/TO/ANDROID_RESOURCE.XML
Erzeugt 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
Erzeugt eine Crashlytics-kompatible Symboldatei für native Bibliotheksabstürze auf Android und lädt sie auf Firebase-Server hoch.

Erweiterungsbefehle

Befehl Beschreibung
ext Zeigt Informationen zur Verwendung von Firebase Extensions-Befehlen an.
Listet die im aktiven Projekt installierten Erweiterungsinstanzen auf.
ext:configure \
EXTENSION_INSTANCE_ID
Konfiguriert die Parameterwerte einer Erweiterungsinstanz in Ihrem Erweiterungsmanifest neu.
ext:info \
PUBLISHER_ID/EXTENSION_ID
Druckt detaillierte Informationen zu einer Erweiterung.
ext:installieren \
PUBLISHER_ID/EXTENSION_ID
Fügt Ihrem Erweiterungsmanifest eine neue Instanz einer Erweiterung hinzu.
ext:list Listet alle in einem Firebase-Projekt installierten Erweiterungsinstanzen auf.
Druckt die Instanz-ID für jede Erweiterung.
ext:deinstallieren \
EXTENSION_INSTANCE_ID
Entfernt eine Erweiterungsinstanz aus Ihrem Erweiterungsmanifest .
ext:aktualisieren \
EXTENSION_INSTANCE_ID
Aktualisiert eine Erweiterungsinstanz auf die neueste Version in Ihrem Erweiterungsmanifest .
ext:exportieren Exportiert alle installierten Erweiterungsinstanzen aus Ihrem Projekt in Ihr Erweiterungsmanifest .

Befehle des Erweiterungsherausgebers

Befehl Beschreibung
ext:dev:init Initialisiert eine Skelett-Codebasis für eine neue Erweiterung im aktuellen Verzeichnis.
ext:dev:list \
PUBLISHER_ID
Druckt eine Liste aller von einem Herausgeber hochgeladenen Erweiterungen.
ext:dev:register Registriert ein Firebase-Projekt als Erweiterungs-Publisher-Projekt .
ext:dev:deprecate \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
Verwirft Erweiterungsversionen, die dem Versionsprädikat entsprechen.
Ein Versionsprädikat kann eine einzelne Version (z. B. 1.0.0 ) oder eine Reihe von Versionen (z. B. >1.0.0 ) sein.
Wenn kein Versionsprädikat angegeben wird, werden alle Versionen dieser Erweiterung abgelehnt.
ext:dev:undeprecate \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
Macht Erweiterungsversionen rückgängig , die dem Versionsprädikat entsprechen.
Ein Versionsprädikat kann eine einzelne Version (z. B. 1.0.0 ) oder eine Reihe von Versionen (z. B. >1.0.0 ) sein.
Wenn kein Versionsprädikat angegeben wird, werden alle Versionen dieser Erweiterung nicht mehr unterstützt.
ext:dev:upload \
PUBLISHER_ID/EXTENSION_ID
Lädt eine neue Version einer Erweiterung hoch.
ext:dev:usage \
PUBLISHER_ID
Zeigt Installationszahlen und Nutzungsmetriken für von einem Herausgeber hochgeladene Erweiterungen an.

Hosting-Befehle

Befehl Beschreibung
Hosting:deaktivieren

Stoppt die Bereitstellung des Firebase-Hosting-Datenverkehrs für das aktive Firebase-Projekt.

Die Hosting-URL Ihres Projekts zeigt nach der Ausführung dieses Befehls die Meldung „Site nicht gefunden“ an.

Verwaltung von Hosting-Sites
Firebase-Hosting:sites:create \
SITE_ID

Erstellt eine neue Hosting-Site im aktiven Firebase-Projekt unter Verwendung der angegebenen SITE_ID

(Optional) Geben Sie eine vorhandene Firebase-Web-App an, die der neuen Site zugeordnet werden soll, indem Sie das folgende Flag übergeben: --app FIREBASE_APP_ID

Firebase-Hosting:sites:delete \
SITE_ID

Löscht die angegebene Hosting-Site

Die CLI zeigt vor dem Löschen der Site eine Bestätigungsaufforderung an.

(Optional) Überspringen Sie die Bestätigungsaufforderung, indem Sie die folgenden Flags übergeben: -f oder --force

Firebase-Hosting:sites:get \
SITE_ID

Ruft Informationen über die angegebene Hosting-Site ab

Firebase-Hosting:sites:list

Listet alle Hosting-Sites für das aktive Firebase-Projekt auf

Verwaltung von Vorschaukanälen
Firebase-Hosting:channel:create \
CHANNEL_ID

Erstellt einen neuen Vorschaukanal auf der Standard- Hosting-Site unter Verwendung der angegebenen CHANNEL_ID

Dieser Befehl wird nicht auf dem Kanal bereitgestellt.

Firebase-Hosting:Kanal:löschen \
CHANNEL_ID

Löscht den angegebenen Vorschaukanal

Sie können den Live-Kanal einer Site 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, erstellt dieser Befehl den Kanal auf der Standard- Hosting-Site, bevor er im Kanal bereitgestellt wird.

Firebase-Hosting:Kanal:Liste Listet alle Kanäle (einschließlich des „Live“-Kanals) auf der Standard- Hosting-Site auf
Firebase-Hosting:Kanal:Öffnen \
CHANNEL_ID
Öffnet einen Browser mit der URL des angegebenen Kanals oder gibt die URL zurück, wenn das Öffnen in einem Browser nicht möglich ist
Versionsklonen
Firebase-Hosting: Klon \
SOURCE_SITE_ID : SOURCE_CHANNEL_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

Klont die zuletzt bereitgestellte Version auf dem angegebenen „Quell“-Kanal auf den angegebenen „Ziel“-Kanal

Dieser Befehl wird auch auf dem angegebenen „Ziel“-Kanal bereitgestellt. Wenn noch nicht der "Ziel" -Kanal vorhanden ist, erstellt dieser Befehl einen neuen Vorschaukanal in der Hosting -Hosting -Site "Ziel", bevor er für den Kanal bereitgestellt wird.

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

Klone die angegebene Version zum angegebenen "Ziel" -Kanal

Dieser Befehl bereitet auch zum angegebenen "Ziel" -Kanal bereit. Wenn noch nicht der "Ziel" -Kanal vorhanden ist, erstellt dieser Befehl einen neuen Vorschaukanal in der Hosting -Hosting -Site "Ziel", bevor er für den Kanal bereitgestellt wird.

Sie finden die VERSION_ID im Hosting -Dashboard der Firebase -Konsole.

Echtzeitdatenbankbefehle

Beachten Sie, dass Sie Ihre anfängliche Echtzeitdatenbankinstanz in der Firebase -Konsole oder mithilfe des allgemeinen firebase init -Workflows oder des spezifischen firebase init database erstellen können.

Sobald Instanzen erstellt wurden, können Sie sie wie in der Verwaltung mehrerer Echtzeit -Datenbankinstanzen verwalten.

Befehl Beschreibung
Datenbank: Get Ruft Daten aus der Datenbank des aktiven Projekts ab und zeigt sie als JSON an. Unterstützt die Abfragen in indizierten Daten.
Datenbank: Instanzen: Erstellen Erstellt eine Datenbankinstanz mit einem angegebenen Instanznamen. Akzeptiert die Option --location Option zum Erstellen einer Datenbank in einer bestimmten Region. Damit Regionennamen mit dieser Option verwendet werden können, finden Sie ausgewählte Stellen für Ihr Projekt . Wenn für das aktuelle Projekt keine Datenbankinstanz vorhanden ist, werden Sie aufgefordert, den firebase init Flow auszuführen, um eine Instanz zu erstellen.
Datenbank: Instanzen: Liste Listen Sie alle Datenbankinstanzen für dieses Projekt auf. Akzeptiert die Option --location Option zum Auflisten von Datenbanken in einer bestimmten Region. Damit Regionennamen mit dieser Option verwendet werden können, finden Sie ausgewählte Stellen für Ihr Projekt .
Datenbank: Profil Erstellt ein Operationsprofil in der Datenbank des aktiven Projekts. Weitere Informationen finden Sie in den Operationstypen in der Realtime -Datenbank .
Datenbank: Push Schiebt neue Daten an einem bestimmten Ort in der Datenbank des aktiven Projekts auf eine Liste. Nimmt Eingaben von einer Datei, Stdin oder einem Befehlszeilenargument an.
Datenbank: Entfernen Löscht alle Daten an einem bestimmten Ort in der Datenbank des aktiven Projekts.
Datenbank: festgelegt Ersetzt alle Daten an einem bestimmten Ort in der Datenbank des aktiven Projekts. Nimmt Eingaben von einer Datei, Stdin oder einem Befehlszeilenargument an.
Datenbank: Update Führt ein teilweise Update an einem bestimmten Ort in der Datenbank des aktiven Projekts durch. Nimmt Eingaben von einer Datei, Stdin oder einem Befehlszeilenargument an.

Remote -Konfigurationsbefehle

Befehl Beschreibung
remoteConfig: Versionen: Liste \
-limit NUMBER_OF_VERSIONS
Listet die neuesten zehn Versionen der Vorlage auf. Geben Sie 0 an, um alle vorhandenen Versionen zurückzugeben, oder geben Sie optional die Option --limit , um die Anzahl der zurückgegebenen Versionen zu begrenzen.
remoteConfig: Holen Sie sich \
-V, Version_Number VERSION_NUMBER
--o, FILENAME
Ruft die Vorlage nach Version (Standardeinstellungen zur neuesten Version) ab und gibt die Parametergruppen, Parameter, Bedingungsnamen und Versionen in eine Tabelle aus. Optional können Sie die Ausgabe in eine angegebene Datei mit -o, FILENAME schreiben.
remoteConfig: rollback \
-V, Version_Number VERSION_NUMBER
--Gewalt
Rollen Sie die Remote -Konfigurationsvorlage auf eine angegebene Vorgängerversionsnummer oder standardmäßig in die unmittelbare vorherige Version (aktuelle Version -1). Wenn --force übergeben wird, fordert er y/n vor, bevor sie mit dem Rollback fortfahren.