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
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:
Laden Sie die Firebase-CLI-Binärdatei für Windows herunter.
Greifen Sie auf die Binärdatei zu, um eine Shell zu öffnen, in der Sie den
firebase
Befehl ausführen können.
npm
Führen Sie die folgenden Schritte aus, um npm
(den Node Package Manager) zum Installieren der Firebase-CLI zu verwenden:
Installieren Sie Node.js mit nvm-windows (dem Node Version Manager). Durch die Installation von Node.js werden die
npm
Befehlstools 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.
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:
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.
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:
Laden Sie die Firebase-CLI-Binärdatei 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 der Binärdatei zu Ihrem PATH hinzu.
- Machen Sie die Binärdatei ausführbar, indem Sie
npm
Führen Sie die folgenden Schritte aus, um npm
(den Node Package Manager) zum Installieren der Firebase-CLI zu verwenden:
Installieren Sie Node.js mit nvm (dem Node Version Manager).
Durch die Installation von Node.js werden dienpm
Befehlstools 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.
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.
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.
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
- 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
Mac OS
- Automatisches Installationsskript : Führen Sie
curl -sL https://firebase.tools | upgrade=true bash
auscurl -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
auscurl -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.
Installieren Sie auf einem Computer mit einem Browser die Firebase-CLI .
Starten Sie den Anmeldevorgang, indem Sie den folgenden Befehl ausführen:
firebase login:ci
Besuchen Sie die angegebene URL und melden Sie sich dann mit einem Google-Konto an.
Drucken Sie ein neues Aktualisierungstoken . Die aktuelle CLI-Sitzung ist davon 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 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 \ | 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 \ | 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
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 vomfirebase 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 Dateifirebase.json
enthält -
$RESOURCE_DIR
: (Nur fürhosting
undfunctions
) 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:
|
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:
|
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:
|
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:
|
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 (Optional) Geben Sie eine vorhandene Firebase-Web-App an, die der neuen Site zugeordnet werden soll, indem Sie das folgende Flag übergeben: |
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: |
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 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 |
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. |