Bereitstellungsziele sind Kurznamen (die Sie selbst definieren) für Firebase-Ressourcen in Ihrem Firebase-Projekt, z. B. eine Hosting-Site mit eindeutigen statischen Assets oder eine Gruppe von Echtzeitdatenbankinstanzen, die dieselben Sicherheitsregeln verwenden.
Bereitstellungsziele sind nützlich, wenn Sie über mehrere Hosting-Sites , mehrere Cloud Storage-Buckets oder mehrere Echtzeitdatenbankinstanzen verfügen. Mit Bereitstellungszielen kann die Firebase-CLI Einstellungen für eine bestimmte Firebase-Ressource oder Ressourcengruppe in Ihrem Projekt bereitstellen, wie zum Beispiel:
- Die Hosting-Konfiguration für jede Ihrer Hosting-Sites
- Statische Assets aus Ihrem Projektverzeichnis für jede Ihrer Hosting-Sites
- Sicherheitsregeln, die von mehreren Realtime Database-Instanzen oder mehreren Cloud Storage-Buckets gemeinsam genutzt werden
So richten Sie ein Bereitstellungsziel ein:
- Wenden Sie einen
TARGET_NAME
auf die Ziel-Firebase-Ressource oder Gruppe von Firebase-Ressourcen an. - Verweisen Sie in Ihrer Datei
firebase.json
auf den zugehörigenTARGET_NAME
, wenn Sie die Einstellungen für jede Ressource oder Ressourcengruppe konfigurieren.
Wenn Sie Firebase-CLI-Befehle ausführen (z. B. firebase deploy
“), ordnet die Firebase-CLI jeden TARGET_NAME
den zugehörigen Firebase-Ressourcen zu. Die CLI übermittelt dann Ihrem Firebase-Projekt die Einstellungen für jede Ressource.
Richten Sie Bereitstellungsziele für Ihre Firebase-Ressourcen ein
Wenden Sie mithilfe der Firebase-CLI einen TARGET_NAME
(Kurznamen-ID, die Sie selbst definieren) auf eine Firebase-Ressource oder eine Gruppe von Firebase-Ressourcen an. Firebase unterstützt Bereitstellungsziele für:
- Firebase-Hosting-Sites
- Cloud Storage für Firebase-Speicher-Buckets
- Firebase-Echtzeitdatenbankinstanzen
Die Einstellungen für Bereitstellungsziele werden in der Datei .firebaserc
in Ihrem Projektverzeichnis gespeichert, sodass Sie Bereitstellungsziele nur einmal pro Projekt einrichten müssen.
Richten Sie Bereitstellungsziele für das Hosting ein
Um ein Bereitstellungsziel zu erstellen und einen TARGET_NAME
auf eine Hosting-Site anzuwenden, führen Sie den folgenden CLI-Befehl aus:
firebase target:apply TYPE TARGET_NAME RESOURCE_IDENTIFIER
Wobei die Parameter sind:
TYPE – der relevante Firebase-Ressourcentyp
- Für Firebase-Hosting-Sites verwenden Sie
hosting
.
- Für Firebase-Hosting-Sites verwenden Sie
TARGET_NAME – ein eindeutiger Name für die Hosting-Site, auf der Sie die Bereitstellung durchführen
RESOURCE_IDENTIFIER – die
SITE_ID
für die Hosting-Site , wie in Ihrem Firebase-Projekt aufgeführt
Wenn Sie beispielsweise in Ihrem Firebase-Projekt zwei Websites ( myapp-blog
und myapp-app
) erstellt haben, können Sie jeder Website einen eindeutigen TARGET_NAME
( blog
bzw. app
) zuweisen, indem Sie die folgenden Befehle ausführen:
firebase target:apply hosting blog myapp-blog
firebase target:apply hosting app myapp-app
Richten Sie Bereitstellungsziele für Cloud Storage oder Realtime Database ein
Um ein Bereitstellungsziel zu erstellen und einen TARGET_NAME
auf eine Reihe von Cloud Storage- oder Echtzeitdatenbankressourcen anzuwenden, führen Sie den folgenden CLI-Befehl aus:
firebase target:apply TYPE TARGET_NAME RESOURCE-1_IDENTIFIER RESOURCE-2_IDENTIFIER ...
Wobei die Parameter sind:
TYPE – der relevante Firebase-Ressourcentyp
- Verwenden Sie für Cloud Storage-Buckets
storage
. - Verwenden Sie für Echtzeitdatenbankinstanzen
database
.
- Verwenden Sie für Cloud Storage-Buckets
TARGET_NAME – ein eindeutiger Name für die Ressource oder Gruppe von Ressourcen, die gemeinsame Sicherheitsregeln haben
RESOURCE_IDENTIFIER – die Bezeichner für die in Ihrem Firebase-Projekt aufgeführten Ressourcen (z. B. Speicher-Bucket-Namen oder Datenbankinstanz-IDs), für die alle dieselben Sicherheitsregeln gelten
Sie könnten beispielsweise den TARGET_NAME
von main
auf eine Gruppe von drei regionalen Cloud Storage-Buckets anwenden (die alle dieselben Sicherheitsregeln verwenden), indem Sie den folgenden Befehl ausführen:
firebase target:apply storage main myproject.appspot.com myproject-eu myproject-ja
Beachten Sie, dass myproject.appspot.com
die Kennung für den Standard-Bucket ist, während myproject-eu
und myproject-ja
zwei zusätzliche Buckets sind, die im Firebase-Projekt erstellt wurden.
Konfigurieren Sie Ihre Datei „firebase.json“ für die Verwendung von Bereitstellungszielen
Nachdem Sie Bereitstellungsziele für Ihre Firebase-Ressourcen eingerichtet haben, verweisen Sie auf jeden angewendeten TARGET_NAME
in Ihrer firebase.json
Konfigurationsdatei:
- Erstellen Sie ein Array von Konfigurationsobjekten für jeden Firebase-
TYPE
(hosting
,storage
oderdatabase
). - Geben Sie in den Arrays das
target
an (mithilfe vonTARGET_NAME
) und definieren Sie Ihre Einstellungen für die zugehörige Firebase-Ressource oder Ressourcengruppe.
Wenn Sie die Beispiele von oben fortsetzen, in denen Ihr Firebase-Projekt über zwei Hosting-Sites und drei Cloud-Speicher-Buckets verfügt (die dieselben Sicherheitsregeln haben), 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 über mehrere Konfigurationen für Ihre Ressourcen verfügen, können Sie mehrere Bereitstellungsziele erstellen und jedes einzelne in der Datei firebase.json
angeben. Alle zugehörigen Ressourcen werden zusammen 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 einen der folgenden Befehle im Stammverzeichnis Ihres Projektverzeichnisses ausführen.
Befehl | Beschreibung |
---|---|
firebase target | Listet die Bereitstellungsziele für Ihr aktuelles Projektverzeichnis auf |
firebase target:remove \ | Entfernt eine Ressource von dem Ziel, dem sie zugewiesen wurde |
firebase target:clear \ | Entfernt alle Ressourcen oder Hosting-Sites vom angegebenen Ziel |
Die Befehle target:remove
und target:clear
aktualisieren automatisch die Deploy-Target-Einstellungen in der .firebaserc
Datei in Ihrem Projektverzeichnis.
Testen Sie vor der Bereitstellung lokal
Führen Sie einen der folgenden Befehle im Stammverzeichnis Ihres Projektverzeichnisses aus.
Befehl | Beschreibung |
---|---|
firebase emulators:start | Emuliert alle konfigurierten Ressourcen in Ihrem Projektverzeichnis |
firebase emulators:start \ | Emuliert nur den Hosting-Inhalt und die Konfiguration der angegebenen Hosting-Site |
firebase emulators:start \ | Emuliert nur die Regeldatei für das angegebene Cloud Storage-Ziel |
firebase emulators:start \ | Emuliert nur die Regeldatei für das angegebene Echtzeitdatenbankziel |
Erfahren Sie mehr über die Konfiguration und Verwendung der Firebase Local Emulator Suite .
Stellen Sie bestimmte Firebase-Ressourcen bereit
Führen Sie einen der folgenden Befehle im Stammverzeichnis Ihres Projektverzeichnisses aus.
Befehl | Beschreibung |
---|---|
firebase deploy | Erstellt eine Version aller bereitstellbaren Ressourcen in Ihrem Projektverzeichnis |
firebase deploy \ | Stellt nur den Hosting-Inhalt und die Konfiguration der angegebenen Hosting-Site im Live-Kanal für die Site bereit |
firebase hosting:channel:deploy CHANNEL_ID \ | Stellt nur den Hosting-Inhalt und die Konfiguration der angegebenen Hosting-Site in einem Vorschaukanal für die Site bereit |
firebase deploy \ | Stellt nur die Regeldatei für das angegebene Cloud Storage-Ziel bereit |
firebase deploy \ | Stellt nur die Regeldatei für das angegebene Echtzeitdatenbankziel bereit |