Die Firebase-Befehlszeile (GitHub) bietet eine Tools zum Verwalten, Aufrufen und Bereitstellen in Firebase-Projekten.
Bevor Sie die Firebase-Befehlszeile verwenden, ein Firebase-Projekt einrichten
Befehlszeile einrichten oder aktualisieren
Firebase CLI installieren
Sie können die Firebase-Befehlszeile mit einer Methode installieren, die Ihrem Betriebssystem entspricht
Erfahrungsniveau und/oder Anwendungsfall. Unabhängig davon, wie Sie die
über die Befehlszeile haben Sie Zugriff auf dieselben Funktionen und auf den Befehl firebase
.
Windows
Sie können die Firebase-Befehlszeile für Windows mit einer der folgenden Methoden installieren Optionen:
Option | Beschreibung | Empfohlen für... |
---|---|---|
eigenständiges Binärprogramm | Laden Sie die eigenständige Binärdatei für die Befehlszeile herunter. Dann können Sie auf
der ausführbaren Datei, um eine Shell zu öffnen, in der Sie den
firebase -Befehl.
|
Neue Entwickler Entwickler, die dies nicht verwenden oder damit nicht vertraut sind Node.js |
npm | Verwenden Sie npm (Node Package Manager), um die Befehlszeile zu installieren und
den global verfügbaren firebase -Befehl.
|
Entwickler mit Node.js |
eigenständiges Binärprogramm
Gehen Sie so vor, um die Binärdatei für die Firebase-Befehlszeile herunterzuladen und auszuführen:
Laden Sie die Firebase-Befehlszeilen-Binärprogramm für Windows
Öffnen Sie das Binärprogramm, um eine Shell zu öffnen, in der Sie
firebase
ausführen können. .
npm
So installieren Sie die Firebase CLI mit npm
(dem Node Package Manager):
Installieren Sie Node.js mithilfe von nvm-windows (Knotenversionsmanager). Durch die Installation von Node.js wird automatisch installiert die
npm
-Befehlstools.Installieren Sie die Firebase-Befehlszeile über
npm
. Führen Sie dazu den folgenden Befehl aus:npm install -g firebase-tools
Dieser Befehl aktiviert den global verfügbaren Befehl
firebase
.
macOS oder Linux
Sie können die Firebase-Befehlszeile für macOS oder Linux mit einer der folgende Optionen:
Option | Beschreibung | Empfohlen für… |
---|---|---|
automatisches Installationsskript | Führen Sie einen einzigen Befehl aus,
der automatisch Ihr Betriebssystem erkennt,
lädt die neueste Befehlszeilenversion herunter und aktiviert dann die weltweit verfügbare
firebase -Befehl.
|
Neue Entwickler Entwickler, die dies nicht verwenden oder damit nicht vertraut sind Node.js Automatisierte Bereitstellungen in einem CI/CD Umgebung |
eigenständiges Binärprogramm | Laden Sie die eigenständige Binärdatei für die Befehlszeile herunter. Anschließend können Sie konfigurieren Sie die Binärdatei so, dass sie Ihrem Workflow entspricht, und führen Sie sie aus. | Vollständig anpassbare Workflows mit der Befehlszeile |
npm | Verwenden Sie npm (Node Package Manager), um die Befehlszeile zu installieren und
den global verfügbaren firebase -Befehl.
|
Entwickler mit Node.js |
Auto-Installations-Script
So installieren Sie die Firebase-Befehlszeile mit dem automatischen Installationsskript: diese Schritte:
Führen Sie den folgenden cURL-Befehl aus:
curl -sL https://firebase.tools | bash
Dieses Skript erkennt automatisch Ihr Betriebssystem und lädt neueste Version der Firebase-Befehlszeile aktiviert und aktiviert dann die weltweit verfügbare
firebase
-Befehl.
Weitere Beispiele und Details zum automatischen Installationsskript finden Sie unter des Skripts unter firebase.tools verwendet werden.
eigenständiges Binärprogramm
Zum Herunterladen und Ausführen der Binärdatei für die Firebase-Befehlszeile für Ihr Betriebssystem führen Sie die folgenden Schritte aus:
Laden Sie das Firebase-Befehlszeilen-Binärprogramm für Ihr Betriebssystem herunter: macOS | Linux
Optional: Richten Sie den global verfügbaren Befehl
firebase
ein.- Machen Sie die Binärdatei ausführbar, indem Sie
chmod +x ./firebase_tools
ausführen. - Fügen Sie den Pfad des Binärprogramms zu Ihrem PFAD.
- Machen Sie die Binärdatei ausführbar, indem Sie
npm
So installieren Sie die Firebase CLI mit npm
(dem Node Package Manager):
Installieren Sie Node.js mithilfe von nvm (Knotenversionsmanager).
Durch die Installation von Node.js wird automatischnpm
-Befehlstools.Installieren Sie die Firebase-Befehlszeile über
npm
. Führen Sie dazu den folgenden Befehl aus:npm install -g firebase-tools
Dieser Befehl aktiviert den global verfügbaren Befehl
firebase
.
Anmelden und die Firebase-Befehlszeile testen
Nach der Installation der Befehlszeile müssen Sie sich authentifizieren. Dann können Sie bestätigen, indem Sie Ihre Firebase-Projekte auflisten.
Melden Sie sich mit Ihrem Google-Konto in Firebase an, indem Sie Folgendes ausführen: Befehl:
firebase login
Mit diesem Befehl wird Ihr lokaler Computer mit Firebase verbunden und Sie erhalten Zugriff auf Ihre Firebase-Projekte.
Prüfen Sie, ob die Befehlszeile richtig installiert ist und auf Ihr Konto zugreift, indem Sie Ihre Firebase-Projekte auflisten. Führen Sie dazu diesen Befehl aus:
firebase projects:list
Die angezeigte Liste sollte mit den Firebase-Projekten übereinstimmen, die unter Firebase-Konsole
Auf die neueste Befehlszeilenversion aktualisieren
Im Allgemeinen möchten Sie die aktuelle Version der Firebase-Befehlszeile verwenden.
Wie Sie die Befehlszeilenversion aktualisieren, hängt von Ihrem Betriebssystem und davon ab, wie Sie die Befehlszeile installiert.
Windows
- Eigenständiges Binärprogramm: Laden Sie das neue Version, und tauschen Sie ihn dann an Ihrem System aus.
- npm:
npm install -g firebase-tools
ausführen
macOS
- automatisches Installationsskript: Führen Sie
curl -sL https://firebase.tools | upgrade=true bash
aus. - Eigenständiges Binärprogramm: Laden Sie das neue Version, dann an deinem System austauschen
- 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 das neue Version, dann an deinem System austauschen
- npm: Führen Sie
npm install -g firebase-tools
aus.
Befehlszeile mit CI-Systemen verwenden
Die Firebase-Befehlszeile erfordert für die Authentifizierung einen Browser, aber die Die Befehlszeile ist vollständig mit CI und anderen monitorlosen Umgebungen kompatibel.
Auf einem Computer mit Browser Installieren Sie die Firebase-Befehlszeile.
Starten Sie den Anmeldeprozess, indem Sie den folgenden Befehl ausführen:
firebase login:ci
Rufen Sie die angegebene URL auf und melden Sie sich mit einem Google-Konto an.
Neue drucken Aktualisierungstoken. Die aktuelle Befehlszeilensitzung ist nicht betroffen.
Speichern Sie das Ausgabetoken auf sichere, aber zugängliche Weise in Ihrem CI-System.
Verwenden Sie dieses Token, wenn Sie
firebase
-Befehle ausführen. Sie können eine der folgende zwei Optionen:Option 1: Token als Umgebungsvariable speichern
FIREBASE_TOKEN
Das System verwendet das Token automatisch.Option 2: Führen Sie alle
firebase
-Befehle mit der--token TOKEN
in Ihrem CI-System.
Dies ist die Rangfolge beim Laden von Tokens: Flag, Umgebung Variable, gewünschtes Firebase-Projekt.
Firebase-Projekt initialisieren
Viele gängige Aufgaben, die mit der Befehlszeile ausgeführt werden, wie die Bereitstellung in einem Firebase-Projekt, erfordern ein Projektverzeichnis. Sie richten ein Projektverzeichnis ein.
mit dem Befehl firebase init
. Ein Projektverzeichnis ist normalerweise dasselbe
als Stammverzeichnis der Versionsverwaltung. Nach der Ausführung von firebase init
wird der
Verzeichnis eine firebase.json
-Konfiguration enthält
-Datei.
Führen Sie zum Initialisieren eines neuen Firebase-Projekts den folgenden Befehl in der Anwendungsverzeichnis:
firebase init
Mit dem Befehl firebase init
werden Sie durch die Einrichtung Ihres Projektverzeichnisses und einiger Firebase-Produkte geführt. Während der Projektinitialisierung führt die Firebase-Befehlszeile
bittet Sie, 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 ausgewählten Produkten. Weitere Informationen zu diesen Konfigurationen finden Sie in der in der Dokumentation des jeweiligen Produkts (z. B. Hosting) Beachten Sie, dass Sie kann
firebase init
später ausführen, um weitere Firebase-Produkte einzurichten.Wählen Sie ein Firebase-Standardprojekt aus.
Bei diesem Schritt wird das aktuelle Projektverzeichnis mit einem Firebase-Projekt verknüpft, dass projektspezifische Befehle (z. B.
firebase deploy
) für die für das entsprechende Firebase-Projekt.Es ist auch möglich, mehrere Firebase-Projekte verknüpfen (z. B. ein Staging-Projekt und ein Produktionsprojekt) mit demselben Projekt -Verzeichnis.
Am Ende der Initialisierung erstellt Firebase automatisch die folgenden beiden -Dateien im Stammverzeichnis Ihres lokalen Anwendungsverzeichnisses:
Eine
firebase.json
-Konfigurationsdatei, in der das Ihre Projektkonfiguration.Eine
.firebaserc
-Datei, in der die Aliasse Ihres Projekts gespeichert sind.
Datei firebase.json
Der Befehl firebase init
erstellt ein
firebase.json
im Stammverzeichnis Ihres Projektverzeichnisses.
Die Datei firebase.json
ist erforderlich, um
Assets mit der Firebase-Befehlszeile bereitstellen, da sie Folgendes angibt:
welche Dateien und Einstellungen aus Ihrem Projektverzeichnis auf Ihrem
Firebase-Projekt Da einige Einstellungen entweder in Ihrem Projektverzeichnis oder in der Firebase-Konsole definiert werden können, müssen Sie alle potenziellen Bereitstellungskonflikte 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-Befehlszeile bereitgestellt werden können,
Der Befehl firebase init
erstellt bestimmte Dateien, in denen Sie Einstellungen definieren können.
für diese Dienste erstellen, z. B. eine index.js
-Datei für Cloud Functions. Sie können
Richten Sie außerdem Pre-Deploy- oder Post-Deploy-Hooks in der firebase.json
-Datei ein.
Hier sehen Sie eine firebase.json
-Beispieldatei mit Standardeinstellungen, wenn Sie
Firebase Hosting, Cloud Firestore und Cloud Functions for Firebase auswählen
(wobei die TypeScript-Quelle und die Lint-Optionen ausgewählt sind).
{
"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 den
Flag --config PATH
zum Angeben einer alternativen
Konfigurationsdatei.
Konfiguration für mehrere Cloud Firestore-Datenbanken
Wenn Sie firebase init
ausführen, enthält die Datei firebase.json
ein einzelnes
firestore
-Schlüssel entsprechend der Standarddatenbank Ihres Projekts, wie gezeigt
oben.
Wenn Ihr Projekt mehrere Cloud Firestore-Datenbanken enthält, bearbeiten Sie die firebase.json
-Datei, um jeder Datenbank unterschiedliche Cloud Firestore Security Rules- 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 beim Bereitstellen ignoriert werden sollen
Bei der Funktionsbereitstellung gibt die Befehlszeile automatisch an,
Eine Liste der zu ignorierenden Dateien im Verzeichnis functions
. Dieses
verhindert die Bereitstellung überflüssiger Dateien im Back-End, die
um die Datengröße
Ihrer Bereitstellung zu erhöhen.
Die Liste der standardmäßig ignorierten Dateien im JSON-Format sieht so aus:
"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,
Behalten Sie die oben gezeigte Liste der Dateien bei (oder fügen Sie sie hinzu, falls sie fehlt).
Projektaliasse verwalten
Sie können mehrere Firebase-Projekte mit demselben Projektverzeichnis verknüpfen.
Beispielsweise können Sie ein Firebase-Projekt für das Staging und ein anderes verwenden.
für die Produktion. Durch die Verwendung verschiedener Projektumgebungen können Sie Änderungen überprüfen
bevor sie in der Produktion bereitgestellt werden. Mit dem Befehl firebase use
können Sie
zwischen Aliassen und das Erstellen neuer Aliasse.
Projektalias hinzufügen
Wenn Sie während des Projekts ein Firebase-Projekt
Initialisierung, wird das Projekt automatisch
wurde dem Alias default
zugewiesen. Um jedoch projektspezifischen Befehlen
für ein anderes Firebase-Projekt ausgeführt, aber dennoch dasselbe Projekt verwenden
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 die
Projekt als Alias festlegen. Alias-Zuweisungen werden in eine .firebaserc
-Datei geschrieben
Ihr Projektverzeichnis.
Projektaliasse verwenden
Führen Sie einen der folgenden Befehle aus, um zugewiesene Firebase-Projektaliasse zu verwenden: in Ihrem Projektverzeichnis.
Befehl | Beschreibung |
---|---|
firebase use |
Liste der aktuell definierten Aliasse für Ihr Projektverzeichnis aufrufen |
firebase use \ |
Fordert alle Befehle an, für das angegebene Firebase-Projekt auszuführen.
Die Befehlszeile verwendet dieses Projekt als derzeit „aktives Projekt“. |
firebase use --clear |
Löscht das aktive Projekt.
Zum Festlegen |
firebase use \ |
Entfernt einen Alias aus Ihrem Projektverzeichnis. |
Sie können überschreiben, was als derzeit aktives Projekt verwendet wird, indem Sie
das Flag --project
mit einem beliebigen Befehl über die Befehlszeile eingeben. 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,
prod
zugewiesen haben, können Sie z. B. Folgendes ausführen:
.
Versionsverwaltung und Projektaliasse
Im Allgemeinen sollten Sie Ihre .firebaserc
-Datei in die Versionsverwaltung einchecken, damit Ihr Team Projektaliasse freigeben kann. Bei Open-Source-Projekten oder Startervorlagen sollten Sie Ihre .firebaserc
-Datei jedoch in der Regel nicht einchecken.
Wenn Sie ein Entwicklungsprojekt haben, das nur für Sie 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.
Firebase-Projekt lokal bereitstellen und testen
Sie können Ihr Firebase-Projekt auf lokal gehosteten URLs ansehen und testen,
für die Produktion bereitstellen. Wenn Sie nur ausgewählte Funktionen testen möchten, können Sie
eine durch Kommas getrennte Liste in einem Flag im Befehl firebase serve
.
Führen Sie den folgenden Befehl im Stammverzeichnis Ihres lokalen Projektverzeichnisses aus, wenn Sie eine der folgenden Aktionen 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 und Sie möchten Ihr HTTP-Funktionen für die Produktion (bereitgestellt), um Hosting auf einer lokalen URL zu emulieren.
firebase serve --only hosting
Projekt mit lokalen HTTP-Funktionen emulieren
Führen Sie einen der folgenden Befehle in Ihrem Projektverzeichnis aus, um die mithilfe von lokalen HTTP-Funktionen erstellen.
Verwenden Sie einen der folgenden Befehle, um HTTP-Funktionen und 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
Auf anderen lokalen Geräten testen
Standardmäßig antwortet firebase serve
nur auf Anfragen von localhost
. Dieses
bedeutet, dass Sie über das Web auf Ihrem Computer auf Ihre gehosteten Inhalte zugreifen können.
Browser, aber nicht von anderen Geräten in Ihrem Netzwerk. Wenn Sie von verschiedenen
anderen lokalen Geräten verwenden, verwenden Sie das Flag --host
so:
firebase serve --host 0.0.0.0 // accepts requests to any host
In einem Firebase-Projekt bereitstellen
Über die Firebase-Befehlszeile wird die Bereitstellung von Code und Assets in Firebase verwaltet. Projekt umfassen:
- Neuveröffentlichungen von Firebase Hosting Websites
- Neue, aktualisierte oder vorhandene Cloud Functions for Firebase
- 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 den folgenden Befehl in Ihrem Projekt aus, um die Bereitstellung in einem Firebase-Projekt vorzunehmen Verzeichnis:
firebase deploy
Optional können Sie jeder Ihrer Bereitstellungen einen Kommentar hinzufügen. Dieser Kommentar wird zusammen mit den anderen Bereitstellungsinformationen auf der Firebase Hosting . Beispiel:
firebase deploy -m "Deploying the best new feature ever."
Beachten Sie Folgendes, wenn Sie den Befehl firebase deploy
verwenden:
Zum Bereitstellen von Ressourcen aus einem Projektverzeichnis muss eine
firebase.json
-Datei haben. Diese Datei ist automatisch vomfirebase init
-Befehl.Standardmäßig erstellt
firebase deploy
einen Release für alle bereitstellbaren Ressourcen in Ihrem Projektverzeichnis. So stellen Sie bestimmte Firebase-Dienste oder -Funktionen bereit: Teilbereitstellung verwenden.
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, eine Teilbereitstellung verwenden und nur Regeln im Firebase-Konsole.
Bereitstellungskontingente
Es ist möglich, aber unwahrscheinlich, dass Sie ein Kontingent überschreiten,
Volumen Ihrer Firebase-Bereitstellungsvorgänge. Wenn beispielsweise
Wenn Sie sehr viele Funktionen bereitstellen, erhalten Sie möglicherweise die Fehlermeldung HTTP 429 Quota
Fehlermeldung erhalten. Um solche Probleme zu beheben,
mit teilweiser Bereitstellung.
Rollback einer Bereitstellung durchführen
Für ein Firebase Hosting-Deployment des Projekts können Sie ein Rollback durchführen Firebase Hosting durch Auswahl von die Aktion Rollback für den gewünschten Release.
Es ist derzeit nicht möglich, für Releases von Sicherheitsregeln ein Rollback durchzuführen. Firebase Realtime Database, Cloud Storage for Firebase oder Cloud Firestore.
Bestimmte Firebase-Dienste bereitstellen
Wenn Sie nur bestimmte Firebase-Dienste oder -Funktionen bereitstellen möchten, können Sie
durch Kommas getrennte Liste in einem Flag im Befehl firebase deploy
. Beispiel:
Mit dem folgenden Befehl werden Firebase Hosting-Inhalte bereitgestellt und
Cloud Storage Sicherheitsregeln.
firebase deploy --only hosting,storage
In der folgenden Tabelle sind die Dienste und Funktionen aufgeführt, die für teilweise
Bereitstellung. Die Namen in den Flags entsprechen den Schlüsseln in Ihrem
firebase.json
-Konfigurationsdatei.
Flag-Syntax | Dienst oder Funktion bereitgestellt |
---|---|
--only hosting |
Inhalt auf Firebase Hosting |
--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
Beim Bereitstellen von Funktionen können Sie bestimmte Funktionen als Ziel angeben. Beispiel:
firebase deploy --only functions:function1
firebase deploy --only functions:function1,functions:function2
Sie können Funktionen auch in Exportgruppen
/functions/index.js
-Datei. Mit Gruppierungsfunktionen
können Sie mehrere
mit einem einzigen Befehl ausführen.
Sie können beispielsweise die folgenden Funktionen schreiben, um eine groupA
und eine groupB
zu definieren:
var functions = require('firebase-functions/v1');
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, die die Funktionen in groupB
definieren. Beispiel:
var functions = require('firebase-functions/v1');
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 aus Ihrem Projektverzeichnis:
firebase deploy --only functions:groupA
Alternativ können Sie mit dem folgenden Befehl eine bestimmte Funktion innerhalb einer Gruppe anvisieren:
firebase deploy --only functions:groupA.function1,groupB.function4
Funktionen löschen
Die Firebase-Befehlszeile unterstützt die folgenden Befehle und Optionen für Löschen zuvor bereitgestellter Funktionen:
Löscht alle Funktionen, die in allen Regionen dem angegebenen Namen entsprechen:
firebase functions:delete FUNCTION-1_NAME
Löscht eine angegebene Funktion, die in einer anderen Region als der Standardregion 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 vor und nach der Bereitstellung einrichten
Sie können Shell-Skripts mit dem Befehl firebase deploy
verbinden, um
vor der Bereitstellung
oder nach der Bereitstellung. Ein Skript für die Vorabbereitstellung
TypeScript-Code in JavaScript zu transpilieren, und ein Postdeploy-Hook könnte benachrichtigen,
Administratoren von neuen Websiteinhalten werden in Firebase Hosting bereitgestellt.
Wenn Sie Hooks für die Vor- oder Nach-Bereitstellung einrichten möchten, fügen Sie Ihren
firebase.json
-Konfigurationsdatei. Sie können
kurze Skripts direkt in der firebase.json
-Datei erstellen oder auf andere
die sich in Ihrem Projektverzeichnis befinden.
Das folgende Skript ist beispielsweise der Ausdruck firebase.json
für eine
Postdeploy-Aufgabe, die bei erfolgreicher Bereitstellung eine Slack-Nachricht an
Firebase Hosting.
"hosting": {
// ...
"postdeploy": "./messageSlack.sh 'Just deployed to Firebase Hosting'",
"public": "public"
}
Die Skriptdatei messageSlack.sh
befindet sich im Projektverzeichnis und sieht
wie hier:
curl -X POST -H 'Content-type: application/json' --data '{"text":"$1"}' \https://SLACK_WEBHOOK_URL
Sie können predeploy
- und postdeploy
-Hooks für jeden der
Assets, die Sie bereitstellen können. Wenn Sie firebase deploy
ausführen, werden alle in der Datei firebase.json
definierten Aufgaben vor und nach der Bereitstellung ausgelöst. Um nur die Aufgaben auszuführen, die mit einer bestimmten
Firebase-Dienst verwenden Sie Befehle zur Teilbereitstellung.
Sowohl predeploy
- als auch postdeploy
-Hooks geben die Standardausgabe und die Fehlerstreams der Scripts im 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 keine Hooks nach der Bereitstellung ausgelöst.
Umgebungsvariablen
In Skripts, die in den Hooks vor und nach der Bereitstellung ausgeführt werden, gilt Folgendes: Umgebungsvariablen verfügbar:
$GCLOUD_PROJECT
: Projekt-ID des aktiven Projekts$PROJECT_DIR
: Stammverzeichnis, das die Dateifirebase.json
enthält$RESOURCE_DIR
: (nur fürhosting
- undfunctions
-Skripts) Die Speicherort des Verzeichnisses, das Hosting oder Cloud Functions zu implementierende Ressourcen
Mehrere Realtime Database-Instanzen verwalten
Ein Firebase-Projekt kann mehrere Firebase Realtime Database-Instanzen. Von CLI-Befehle interagieren mit Ihrer default-Datenbankinstanz.
Sie können jedoch mit einer nicht standardmäßigen Datenbankinstanz interagieren, indem Sie die Methode
--instance DATABASE_NAME
--instance
:
firebase database:get
firebase database:profile
firebase database:push
firebase database:remove
firebase database:set
firebase database:update
Befehlsreferenz
Administrative CLI-Befehle
Befehl | Beschreibung |
---|---|
help | Zeigt Hilfeinformationen zur Befehlszeile oder bestimmten Befehlen an. |
init | Verknüpft und richtet ein neues Firebase-Projekt im aktuellen Verzeichnis ein.
Mit diesem Befehl wird ein
firebase.json
Konfigurationsdatei im aktuellen Verzeichnis. |
login | Authentifizierung der Befehlszeile bei Ihrem Firebase-Konto Benötigt Zugriff auf
Webbrowser. So melden Sie sich in Remoteumgebungen in der Befehlszeile an, die keinen Zugriff auf localhost , verwende die --no-localhost |
login:ci | Generiert ein Authentifizierungstoken zur Verwendung in nicht interaktiven Anwendungen Umgebungen. |
logout | Die CLI wird von Ihrem Firebase-Konto abgemeldet. |
öffnen | Öffnet einen Browser für relevante Projektressourcen. |
projects:list. | Listet alle Firebase-Projekte auf, auf die Sie Zugriff haben. |
verwenden | Legt das aktive Firebase-Projekt für die Befehlszeile fest. Verwaltet Projektaliasse. |
Projektmanagement-Befehle
Befehl | Beschreibung | |
---|---|---|
Verwaltung von Firebase-Projekten | ||
projects:addfirebase. | Fügt einem vorhandenen Google Cloud-Projekt Firebase-Ressourcen hinzu. | |
projects:create | Erstellt ein neues Google Cloud-Projekt und fügt dann Firebase-Ressourcen hinzu für das neue Projekt. | |
projects:list. | Hier werden alle Firebase-Projekte aufgelistet, auf die Sie Zugriff haben. | |
Verwaltung von Firebase-Apps (iOS, Android, Web) | ||
apps:create | Eine neue Firebase-App wird im aktiven Projekt erstellt. | |
apps:Liste | Listet die registrierten Firebase-Apps im aktiven Projekt auf. | |
apps:sdkconfig | Druckt die Konfiguration der Google-Dienste einer Firebase-App aus. | |
setup:web | Veraltet. Verwenden Sie stattdessen apps:sdkconfig und
Geben Sie web als Plattformargument an.Drucke Konfiguration der Google-Dienste einer Firebase-Web-App |
|
Verwaltung von SHA-Zertifikats-Hashes (nur Android) | ||
apps:android:sha:create \ FIREBASE_APP_ID SHA_HASH |
Fügt den angegebenen SHA-Zertifikats-Hash zum angegebenen Firebase-Android-App | |
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:liste \ FIREBASE_APP_ID |
Listet die SHA-Zertifikats-Hashes für die angegebene Firebase-Android-App |
Bereitstellung und lokale Entwicklung
Mit diesen Befehlen können Sie Ihre Firebase Hosting-Website bereitstellen und mit ihr interagieren.
Befehl | Beschreibung |
---|---|
bereitstellen | Stellt Code und Assets aus Ihrem Projektverzeichnis im aktiven
Projekt arbeiten. Für Firebase Hosting: ein
firebase.json
Konfigurationsdatei erforderlich.
|
service | Startet einen lokalen Webserver mit Ihrer Firebase Hosting-Konfiguration.
Für Firebase Hosting: ein
firebase.json
Konfigurationsdatei erforderlich. |
App Distribution-Befehle
Befehl | Beschreibung |
---|---|
appdistribution:distrib \ --app FIREBASE_APP_ID |
Macht den Build für Tester verfügbar. |
appdistribution:testers:add | Fügt dem Projekt Tester hinzu. |
appdistribution:testers:remove | Entfernt Tester aus dem Projekt. |
App Hosting-Befehle
Befehl | Beschreibung |
---|---|
apphosting:backends:create \ --project PROJECT_ID --location REGION --app APP_ID |
Erstellt die Sammlung der verwalteten Ressourcen, die mit einer einzelnen Codebasis verknüpft sind, die ein App Hosting-Backend enthält. Optional: Geben Sie ein vorhandenes Firebase-Web-App anhand ihrer Firebase-App-ID |
apphosting:backends:get \
BACKEND_ID --project PROJECT_ID --location REGION |
Ruft bestimmte Details eines Back-Ends ab, einschließlich der öffentlichen URL. |
apphosting:backends:list \ --Projekt PROJECT_ID |
Ruft eine Liste aller aktiven Back-Ends ab, die mit einem Projekt verknüpft sind. |
firebase apphosting:backends:delete \
BACKEND_ID --Projekt PROJECT_ID --Standort REGION |
Löscht ein Back-End aus dem Projekt. |
apphosting:secrets:set \ KEY --project PROJECT_ID --location REGION --data-file Data file |
Speichert geheimes Material in Secret Manager. Optional:
Dateipfad, aus dem Secret-Daten gelesen werden sollen. Legen Sie _ fest, um geheime Daten aus der Standardeingabe zu lesen.
|
apphosting:secrets:grantaccess \ KEY --Projekt PROJECT_ID BACKEND_ID --Standort REGION |
Gewährt dem Backend-Dienstkonto Zugriff auf das bereitgestellte Secret, damit App Hosting bei der Build- oder Laufzeit darauf zugreifen kann. |
apphosting:secrets:describe \ KEY --project PROJECT_ID |
Ruft die Metadaten für ein Secret und seine Versionen ab. |
firebase apphosting:secrets:access \ KEY[@version] --Projekt PROJECT_ID |
Greift anhand des Secrets und seiner Version auf einen Secret-Wert zu. Standardmäßig wird auf die neueste Version zugegriffen. |
Authentication-Befehle (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 den aktiven Projekt arbeiten. Weitere Informationen finden Sie in der auth:import und auth:export . |
Cloud Firestore-Befehle
Befehl | Beschreibung |
---|---|
firestore:Standorte |
Listen Sie die verfügbaren Standorte für Ihre Cloud Firestore-Datenbank auf. |
firestore:databases:create DATABASE_ID |
Erstellen Sie in Ihrem Firebase-Projekt eine Datenbankinstanz im nativen Modus. Der Befehl verwendet die folgenden Flags:
|
firestore:databases:list |
Listen Sie Datenbanken in Ihrem Firebase-Projekt auf. |
firestore:databases:get DATABASE_ID |
Datenbankkonfiguration für eine bestimmte Datenbank in Ihrem Firebase-Projekt |
firestore:databases:update DATABASE_ID |
Datenbankkonfiguration einer angegebenen Datenbank in Ihrem Firebase-Projekt Mindestens ein Flag ist erforderlich. Der Befehl akzeptiert die folgenden Flags:
|
firestore:databases:delete DATABASE_ID |
Löschen Sie eine Datenbank in Ihrem Firebase-Projekt. |
firestore:Indexe |
Indexe für eine Datenbank in Ihrem Firebase-Projekt auflisten Der Befehl verwendet das folgende Flag:
|
firestore:Löschen |
Löscht Dokumente in der Datenbank des aktiven Projekts. Über die Befehlszeile können Sie rekursiv alle Dokumente in einer Sammlung löschen. Beachten Sie, dass das Löschen von Cloud Firestore-Daten mit der Befehlszeile Lese- und Kosten löschen. Weitere Informationen finden Sie unter Informationen zur Abrechnung über Cloud Firestore Der Befehl verwendet das folgende Flag:
|
Cloud Functions for Firebase-Befehle
Befehl | Beschreibung |
---|---|
functions:config:clone | Die Umgebung eines anderen Projekts wird in das aktive Firebase geklont. Projekt arbeiten. |
functions:config:get | Ruft vorhandene Konfigurationswerte der Cloud Functions |
functions:config:set | Hier werden die Werte der Laufzeitkonfiguration von Cloud Functions des aktiven Projekts gespeichert. |
functions:config:unset | Entfernt Werte aus der Laufzeitkonfiguration des aktiven Projekts. |
functions:log | Liest Logs aus bereitgestelltem Cloud Functions. |
Weitere Informationen finden Sie in der Umgebung Konfigurationsdokumentation.
Crashlytics-Befehle
Befehl | Beschreibung |
---|---|
crashlytics:mappingfile:generateid \ --resource-file=PATH/TO/ANDROID_RESOURCE.XML |
Generiert eine eindeutige Zuordnungsdatei-ID in der angegebenen Android-Ressource (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, verknüpft und der Zuordnungsdatei-ID zugeordnet, die im angegebenen Feld Android-Ressourcendatei (XML). |
crashlytics:symbols:upload \ --app=FIREBASE_APP_ID \ PATH/TO/SYMBOLS |
Generiert eine Crashlytics-kompatible Symboldatei für die native Bibliothek unter Android abstürzt und auf die Firebase-Server hochlädt. |
Extensions-Befehle
Befehl | Beschreibung |
---|---|
ext | Zeigt Informationen zur Verwendung von Firebase Extensions-Befehlen an. Listet die im aktiven Projekt installierten Erweiterungsinstanzen auf. |
ext:Konfigurieren \ EXTENSION_INSTANCE_ID |
Konfiguriert die Parameterwerte einer Erweiterungsinstanz in Ihrem Erweiterungsmanifest |
ext:info \ PUBLISHER_ID/EXTENSION_ID |
Gibt detaillierte Informationen zu einer Erweiterung aus. |
ext:install \ PUBLISHER_ID/EXTENSION_ID |
Fügt Ihrer Erweiterung eine neue Instanz einer Erweiterung hinzu. Erweiterungsmanifest |
ext:Liste | Listet alle in einem Firebase-Projekt installierten Erweiterungsinstanzen auf. Gibt die Instanz-ID für jede Erweiterung aus. |
ext:uninstall \ EXTENSION_INSTANCE_ID |
Entfernt eine Erweiterungsinstanz aus Ihrer Erweiterungsmanifest |
ext:update \ EXTENSION_INSTANCE_ID |
Aktualisiert eine Erweiterungsinstanz auf die neueste Version in Ihrem Erweiterungsmanifest |
ext:export | Exportiert alle installierten Erweiterungsinstanzen aus Ihrem Projekt in Ihr Erweiterungsmanifest |
Extensions Publisher-Befehle
Befehl | Beschreibung |
---|---|
ext:dev:init | Initialisiert eine Basis-Codebasis für eine neue Erweiterung in der aktuellen -Verzeichnis. |
ext:dev:list \ PUBLISHER_ID |
Druckt eine Liste aller von einem Verlag oder Webpublisher hochgeladenen Erweiterungen. |
ext:dev:register | Registriert ein Firebase-Projekt als Erweiterungs-Publisher-Projekt |
ext:dev:deprecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE |
Wird eingestellt
Erweiterungsversionen, die dem Versionsprädikat entsprechen. Ein Versionsprädikat kann eine einzelne Version (z. B. 1.0.0 ) oder ein Versionsbereich (z. B. >1.0.0 ) sein.Wenn kein Versionsprädikat angegeben wird, werden alle Versionen dieser Erweiterung verworfen. |
ext:dev:undeprecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE |
Einstellung
Erweiterungsversionen, die dem Versionsprädikat entsprechen. Ein Versionsprädikat kann eine einzelne Version sein (z. B. 1.0.0 ),
oder einen Versionsbereich (z. B. >1.0.0 ) stellen.Wenn kein Versionsprädikat angegeben ist, werden alle Versionen dieser Erweiterung entfernt. |
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 |
Es wird kein Firebase Hosting-Traffic mehr für das aktive Firebase-Projekt ausgeliefert. Die Hosting-URL Ihres Projekts zeigt die Meldung „Website nicht gefunden“ an. Nachricht nachdem Sie diesen Befehl ausgeführt haben. |
Verwaltung von Hosting Websites | |
firebase Hosting:sites:create \ SITE_ID |
eine neue Hosting Website im aktiven Firebase-Projekt mithilfe der
angegeben (Optional) Vorhandene Firebase Web-App angeben, die verknüpft werden soll
mit der neuen Website durch Übergeben des folgenden Flags:
|
firebase Hosting:sites:delete \ SITE_ID |
Löscht die angegebene Hosting-Website Über die Befehlszeile wird vor dem Löschen der Website eine Bestätigungsaufforderung angezeigt. (Optional) Überspringen Sie die Bestätigungsaufforderung, indem Sie den
folgende Flags: |
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 im Bereich
default Hosting-Website mit dem angegebenen
Dieser Befehl führt keine Bereitstellung auf dem Kanal aus. |
firebase Hosting:channel:delete \ CHANNEL_ID |
Löscht den angegebenen Vorschaukanal Sie können den Live-Kanal einer Website nicht löschen. |
firebase Hosting:channel:deploy \ CHANNEL_ID |
Stellt den Inhalt und die Konfiguration von Hosting auf der angegebenen Vorschaukanal Wenn der Vorschaukanal noch nicht vorhanden ist, wird er mit diesem Befehl auf der Standardwebsite von Hosting erstellt, bevor er auf dem Kanal bereitgestellt wird. |
firebase hosting:channel:list | Listet alle Kanäle auf (einschließlich des "Live"-Kanals) im default Hosting-Website |
firebase Hosting:channel:open \ CHANNEL_ID |
Öffnet einen Browser zur URL des angegebenen Kanals oder gibt die URL zurück wenn das Öffnen im Browser nicht möglich ist |
Versionen klonen | |
firebase hosting:clone \ SOURCE_SITE_ID:SOURCE_CHANNEL_ID \ TARGET_SITE_ID:TARGET_CHANNEL_ID |
Es wird die zuletzt bereitgestellte Version in der angegebenen „Quelle“ geklont. Channel zum angegebenen „Ziel“ Kanal Dieser Befehl wird auch für das angegebene „Ziel“ bereitgestellt Kanal. Wenn die "Ziel" channel noch nicht vorhanden ist, wird mit diesem Befehl ein neuer Vorschaukanal im Bereich „Ziel“ Hosting Website vor der Bereitstellung auf für den Kanal. |
firebase hosting:clone \ SOURCE_SITE_ID:@VERSION_ID \ TARGET_SITE_ID:TARGET_CHANNEL_ID |
Die angegebene Version wird auf den angegebenen Zielkanal geklont. Dieser Befehl wird auch für das angegebene „Ziel“ bereitgestellt Kanal. Wenn der Kanal „target“ noch nicht vorhanden ist, wird mit diesem Befehl ein neuer Vorschaukanal auf der Ziel-Hosting-Website erstellt, bevor die Bereitstellung auf dem Kanal erfolgt. Sie finden die |
Realtime Database-Befehle
Sie können Ihre erste Standard-Realtime Database-Instanz in der Firebase-Konsole oder mit dem allgemeinen firebase init
-Workflow oder dem spezifischen firebase init database
-Ablauf erstellen.
Nachdem Instanzen erstellt wurden, können Sie sie wie in den Mehrere Realtime Database-Instanzen verwalten.
Befehl | Beschreibung |
---|---|
database:get | Ruft Daten aus der Datenbank des aktiven Projekts ab und zeigt sie als JSON Unterstützt Abfragen von indexierten Daten. |
database:instances:create | Erstellt eine Datenbankinstanz mit einem angegebenen Instanznamen. Die Option --location zum Erstellen einer Datenbank in einer bestimmten Region wird akzeptiert. Die Namen der Regionen, die mit dieser Option verwendet werden können, finden Sie unter
Standorte für Ihr Projekt auswählen.
Wenn für das aktuelle Projekt keine Datenbankinstanz vorhanden ist, werden Sie aufgefordert,
um den firebase init -Ablauf zum Erstellen einer Instanz auszuführen.
|
database:instances:list | Listen Sie alle Datenbankinstanzen für dieses Projekt auf. Akzeptiert die
Option --location zum Auflisten von Datenbanken in einer bestimmten
Region Informationen zu den Regionsnamen, die mit dieser Option verwendet werden können, finden Sie unter Standorte für Ihr Projekt auswählen. |
database:Profil | Erstellt ein Profil von Vorgängen in der Datenbank des aktiven Projekts. Für finden Sie unter Realtime Database Vorgangstypen. |
database:push | Verschiebt neue Daten an eine Liste an einem bestimmten Ort im aktiven Projektdatenbank. Nimmt Eingaben aus einer Datei, STDIN oder einer Befehlszeile an . |
database:remove | Löscht alle Daten an einem bestimmten Speicherort im aktiven Projekt Datenbank. |
database:set | Ersetzt alle Daten an einem angegebenen Speicherort im Datenbank. Nimmt Eingaben aus einer Datei, STDIN oder einem Befehlszeilenargument an. |
database:update | Führt ein Teilupdate an einer angegebenen Position im aktiven Projektdatenbank. Nimmt Eingaben aus einer Datei, STDIN oder einer Befehlszeile an . |
Remote Config-Befehle
Befehl | Beschreibung |
---|---|
remoteconfig:versions:list \ --limit NUMBER_OF_VERSIONS |
Listet die letzten zehn Versionen der Vorlage auf. Definieren
0 , um alle vorhandenen Versionen zurückzugeben, oder optional
können Sie die Option --limit übergeben, um die Anzahl der
Versionen zurückgegeben werden. |
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 und Bedingungsnamen aus.
Version in einer Tabelle. Optional können Sie die Ausgabe mit -o, FILENAME in eine angegebene Datei schreiben. |
remoteconfig:rollback \ --v, Versionsnummer VERSION_NUMBER -Kraft |
Führt ein Rollback der Remote Config-Vorlage auf eine angegebene vorherige Version durch
oder wird standardmäßig auf die unmittelbar vorherige Version (aktuelle Version -1) gesetzt. Sofern --force nicht übergeben wird, wird J/N angezeigt.
bevor Sie mit dem Rollback fortfahren. |