Bereitstellungsziele sind selbst definierte Kurznamen-IDs für Firebase-Ressourcen in Ihrem Firebase-Projekt, wie eine Hosting-Website mit eindeutigen statische Assets oder eine Gruppe von Realtime Database Instanzen mit derselben Sicherheit Regeln.
Bereitstellungsziele sind nützlich, wenn Sie mehrere Hosting-Websites, mehrere Cloud Storage-Buckets oder mehrere Realtime Database-Instanzen. Mit Bereitstellungszielen kann die Firebase-Befehlszeile Einstellungen für eine bestimmte Firebase-Ressource oder -Gruppe von Ressourcen in Ihrem Projekt, z. B.:
- Die Hosting-Konfiguration für jede Ihrer Hosting-Websites
- Statische Assets aus Ihrem Projektverzeichnis für jede Ihrer Hosting-Websites
- Sicherheitsregeln, die von mehreren oder mehreren Realtime Database-Instanzen gemeinsam genutzt werden Cloud Storage Buckets
So richten Sie ein Bereitstellungsziel ein:
- Wenden Sie eine
TARGET_NAME
auf die gewünschte Firebase-Ressource oder Gruppe von Firebase-Ressourcen an. - Verweisen Sie in der Datei
firebase.json
auf die zugehörigeTARGET_NAME
, wenn Sie die Einstellungen für die einzelnen Ressourcen oder Ressourcengruppen konfigurieren.
Wenn Sie Firebase-Befehlszeilenbefehle wie
firebase deploy
) verknüpft die Firebase-Befehlszeile jede TARGET_NAME
mit ihrem
zugehörigen Firebase-Ressourcen. Die CLI überträgt dann die Einstellungen für jede Ressource an Ihr Firebase-Projekt.
Bereitstellungsziele für Firebase-Ressourcen einrichten
Wenden Sie über die Firebase-Befehlszeile eine TARGET_NAME
(Kurznamen-ID, die
(von Ihnen selbst definiert) zu einer Firebase-Ressource oder einer Gruppe von Firebase-Ressourcen.
Firebase unterstützt Bereitstellungsziele für:
- Firebase Hosting Websites
- Cloud Storage for Firebase-Speicher-Buckets
- Firebase Realtime Database Instanzen
Die Einstellungen für Bereitstellungsziele werden in der Datei .firebaserc
im Projektverzeichnis gespeichert. Sie müssen Bereitstellungsziele also nur einmal pro Projekt einrichten.
Bereitstellungsziele für Hosting einrichten
Führen Sie den folgenden Befehl aus, um ein Bereitstellungsziel zu erstellen und eine TARGET_NAME
auf eine Hosting-Website anzuwenden:
firebase target:apply TYPE TARGET_NAME RESOURCE_IDENTIFIER
Die Parameter sind:
TYPE: der relevante Firebase-Ressourcentyp
- Verwenden Sie für Firebase Hosting-Websites
hosting
.
- Verwenden Sie für Firebase Hosting-Websites
TARGET_NAME: Ein eindeutiger Name für die Hosting-Website, auf die Sie bereitstellen
RESOURCE_IDENTIFIER:
SITE_ID
für die Hosting-Website, wie in Ihrem Firebase-Projekt aufgeführt
Wenn Sie beispielsweise zwei Websites (myapp-blog
und myapp-app
) in Ihrem Firebase-Projekt erstellt haben, können Sie jeder Website eine eindeutige TARGET_NAME
(blog
bzw. app
) zuweisen. Führen Sie dazu die folgenden Befehle aus:
firebase target:apply hosting blog myapp-blog
firebase target:apply hosting app myapp-app
Bereitstellungsziele für Cloud Storage oder Realtime Database einrichten
Um ein Bereitstellungsziel zu erstellen und eine TARGET_NAME
auf eine Reihe von
Cloud Storage- oder Realtime Database-Ressourcen, führen Sie die folgende Befehlszeile aus
Befehl:
firebase target:apply TYPE TARGET_NAME RESOURCE-1_IDENTIFIER RESOURCE-2_IDENTIFIER ...
Die Parameter sind:
TYPE – der relevante Firebase-Ressourcentyp
- Verwenden Sie für Cloud Storage-Buckets
storage
. - Verwenden Sie für Realtime Database-Instanzen
database
.
- Verwenden Sie für Cloud Storage-Buckets
TARGET_NAME: Ein eindeutiger Name für die Ressource oder Gruppe von Ressourcen, die Sicherheitsregeln gemeinsam nutzen.
RESOURCE_IDENTIFIER: die IDs der Ressourcen, die in Ihrem Firebase-Projekt aufgeführt sind (z. B. Speicher-Bucket-Namen oder Datenbankinstanz-IDs), die alle dieselben Sicherheitsregeln haben
Sie können beispielsweise die TARGET_NAME
von main
auf eine Gruppe von drei regionalen Cloud Storage-Buckets anwenden, die alle dieselben Sicherheitsregeln haben. Führen Sie dazu den folgenden Befehl aus:
firebase target:apply storage main myproject.appspot.com myproject-eu myproject-ja
myproject.appspot.com
ist die Kennung für den Standard-Bucket. myproject-eu
und myproject-ja
sind zwei zusätzliche Buckets, die im Firebase-Projekt erstellt wurden.
firebase.json-Datei für die Verwendung von Bereitstellungszielen konfigurieren
Nachdem Sie Bereitstellungsziele für Ihre Firebase-Ressourcen eingerichtet haben, referenzieren Sie jedes
angewendet TARGET_NAME
in Ihrem
Konfigurationsdatei für firebase.json
:
- Ein Array von Konfigurationsobjekten für jede Firebase-Ressource
TYPE
erstellen (hosting
,storage
oderdatabase
). - Geben Sie in den Arrays die
target
(mithilfe derTARGET_NAME
) an und definieren Sie die Einstellungen für die zugehörige Firebase-Ressource oder ‑Ressourcengruppe.
Wir setzen auf die Beispiele oben, bei denen Ihr Firebase-Projekt zwei
Hosting Websites und drei Cloud Storage-Buckets (mit identischen Werten)
Sicherheitsregeln), würde Ihre firebase.json
-Datei so aussehen:
{ "hosting": [ { "target": "blog", // "blog" is the applied TARGET_NAME for the Hosting site "myapp-blog" "public": "blog/dist", // contents of this folder are deployed to the site "myapp-blog" // ... }, { "target": "app", // "app" is the applied TARGET_NAME for the Hosting site "myapp-app" "public": "app/dist", // contents of this folder are deployed to the site "myapp-app" // ... "rewrites": [...] // You can define specific Hosting configurations for each site } ] } { "storage": [ { "target": "main", // "main" is the applied TARGET_NAME for the group of Cloud Storage buckets "rules": "storage.main.rules" // the file that contains the shared security rules } ] }
Wenn Sie mehrere Konfigurationen für Ihre Ressourcen haben, können Sie mehrere Bereitstellungsziele erstellen und in der Datei firebase.json
angeben. Alle verknüpften
Ressourcen werden gemeinsam bereitgestellt, wenn Sie firebase deploy
ausführen.
Bereitstellungsziele verwalten
Die Einstellungen für Bereitstellungsziele werden in der Datei .firebaserc
in Ihrem Projektverzeichnis gespeichert. Sie können die Bereitstellungsziele Ihres Projekts verwalten, indem Sie
die folgenden Befehle aus dem Stammverzeichnis Ihres Projektverzeichnisses aus.
Befehl | Beschreibung |
---|---|
firebase target
|
Listet die Bereitstellungsziele für das aktuelle Projektverzeichnis auf |
firebase target:remove \
|
Entfernt eine Ressource aus dem Ziel, dem sie zugewiesen wurde |
firebase target:clear \
|
Entfernt alle Ressourcen oder Hosting-Website aus dem angegebenen Ziel |
Mit den Befehlen target:remove
und target:clear
wird die Bereitstellung automatisch aktualisiert
Zieleinstellungen in der Datei .firebaserc
in Ihrem Projektverzeichnis.
Vor der Bereitstellung lokal testen
Führen Sie einen der folgenden Befehle im Stammverzeichnis Ihres Projektverzeichnisses aus.
Befehl | Beschreibung |
---|---|
firebase emulators:start
|
Emuliert alle konfigurierten Ressourcen in Ihrem Projekt Verzeichnis |
firebase emulators:start \ |
Emuliert nur den Hosting-Inhalt und die Konfiguration des angegebene Hosting-Website |
firebase emulators:start \
|
Es wird nur die Regeldatei für das angegebene Cloud Storage-Ziel emuliert. |
firebase emulators:start \
|
Emuliert nur die Regeldatei für das angegebene Realtime Database-Ziel |
Erfahren Sie mehr über die Konfiguration und Verwendung der Firebase Local Emulator Suite
Bestimmte Firebase-Ressourcen bereitstellen
Führen Sie einen der folgenden Befehle im Stammverzeichnis Ihres Projektverzeichnisses aus.
Befehl | Beschreibung |
---|---|
firebase deploy
|
Erstellt eine Version aller ausführbaren Ressourcen im Projektverzeichnis. |
firebase deploy \
|
Es werden nur der Hosting-Inhalt und die Konfiguration des angegebene Hosting-Website zum Live-Channel für die Website |
firebase hosting:channel:deploy CHANNEL_ID \ |
Es werden nur die Hosting-Inhalte und die Hosting-Konfiguration der angegebenen Website in einem Vorschaukanal für die Website bereitgestellt. |
firebase deploy \
|
Es wird nur die Regelndatei für das angegebene Cloud Storage-Ziel bereitgestellt. |
firebase deploy \
|
Stellt nur die Regeldatei für das angegebene Realtime Database-Ziel bereit |