Testen Sie Ihre Web-App lokal, teilen Sie Änderungen mit anderen und stellen Sie sie dann live bereit

Vor der Bereitstellung auf Ihrer Live-Site sollten Sie Ihre Änderungen anzeigen und testen. Mit Firebase Hosting können Sie Änderungen lokal anzeigen und testen sowie mit emulierten Backend-Projektressourcen interagieren. Wenn Sie möchten, dass Ihre Teamkollegen Ihre Änderungen anzeigen und testen, kann Hosting gemeinsam nutzbare, temporäre Vorschau-URLs für Ihre Website erstellen. Wir unterstützen sogar eine GitHub-Integration zur Bereitstellung über eine Pull-Anfrage.

Bevor Sie beginnen

Führen Sie die auf der Seite „Erste Schritte beim Hosting“ aufgeführten Schritte aus, insbesondere die folgenden Aufgaben:

  1. Installieren oder aktualisieren Sie die Firebase-CLI auf die neueste Version.
  2. Verbinden Sie das lokale Projektverzeichnis (das den Inhalt Ihrer App enthält) mit Ihrem Firebase-Projekt.

Sie können optional den Hosting-Inhalt und die Konfiguration Ihrer App bereitstellen, dies ist jedoch keine Voraussetzung für die Schritte auf dieser Seite.

Schritt 1: Lokal testen

Wenn Sie schnelle Iterationen durchführen oder möchten, dass Ihre App mit emulierten Backend-Projektressourcen interagiert, können Sie Ihren Hosting-Inhalt testen und lokal konfigurieren. Beim lokalen Testen stellt Firebase Ihre Web-App unter einer lokal gehosteten URL bereit.

Hosting ist Teil der Firebase Local Emulator Suite , die es Ihrer App ermöglicht, mit Ihren emulierten Hosting-Inhalten und -Konfigurationen sowie optional Ihren emulierten Projektressourcen (Funktionen, Datenbanken und Regeln) zu interagieren.

  1. (Optional) Standardmäßig interagiert Ihre lokal gehostete App mit echten , nicht emulierten Projektressourcen (Funktionen, Datenbank, Regeln usw.). Stattdessen können Sie Ihre App optional verbinden, um alle emulierten Projektressourcen zu verwenden, die Sie konfiguriert haben. Erfahren Sie mehr: Echtzeitdatenbank | Cloud-Firestore | Cloud-Funktionen

  2. Führen Sie im Stammverzeichnis Ihres lokalen Projektverzeichnisses den folgenden Befehl aus:

    firebase emulators:start
  3. Öffnen Sie Ihre Web-App unter der lokalen URL, die von der CLI zurückgegeben wird (normalerweise http://localhost:5000 ).

  4. Um die lokale URL mit Änderungen zu aktualisieren, aktualisieren Sie Ihren Browser.

Testen Sie von anderen lokalen Geräten aus

Standardmäßig antworten die Emulatoren 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, konfigurieren Sie Ihre firebase.json wie folgt:

"emulators": {
    // ...

    "hosting": {
      "port": 5000
      "host": "0.0.0.0"
    }
  }

Schritt 2: Vorschau anzeigen und teilen

Wenn Sie möchten, dass andere Änderungen an Ihrer Web-App sehen können, bevor sie live geschaltet werden, können Sie Vorschaukanäle verwenden.

Nach der Bereitstellung in einem Vorschaukanal stellt Firebase Ihre Web-App unter einer „Vorschau-URL“ bereit, bei der es sich um eine gemeinsam nutzbare, temporäre URL handelt. Wenn Sie eine Vorschau-URL verwenden, interagiert Ihre Web-App mit Ihrem echten Backend für alle Projektressourcen (mit Ausnahme aller „angehefteten“ Funktionen in Ihrer Rewrites-Konfiguration ).

Beachten Sie, dass Vorschau-URLs zwar schwer zu erraten sind (da sie einen zufälligen Hash enthalten), aber öffentlich sind. Jeder, der die URL kennt, kann also darauf zugreifen.

  1. Führen Sie im Stammverzeichnis Ihres lokalen Projektverzeichnisses den folgenden Befehl aus:

    firebase hosting:channel:deploy CHANNEL_ID

    Ersetzen Sie CHANNEL_ID durch eine Zeichenfolge ohne Leerzeichen (z. B. feature_mission-2-mars ). Diese ID wird verwendet, um die Vorschau-URL zu erstellen, die dem Vorschaukanal zugeordnet ist.

  2. Öffnen Sie Ihre Web-App unter der von der CLI zurückgegebenen Vorschau-URL. Es wird ungefähr so ​​aussehen: PROJECT_ID -- CHANNEL_ID - RANDOM_HASH .web.app

  3. Um Ihre Vorschau-URL mit den Änderungen zu aktualisieren, führen Sie denselben Befehl erneut aus. Stellen Sie sicher, dass Sie im Befehl dieselbe CHANNEL_ID angeben.

Erfahren Sie, wie Sie Vorschaukanäle verwalten und wie Sie den Ablauf eines Kanals festlegen.

Firebase Hosting unterstützt eine GitHub-Aktion, die automatisch eine Vorschau-URL erstellt und aktualisiert, wenn Sie Änderungen an einer Pull-Anfrage festschreiben. Erfahren Sie, wie Sie diese GitHub-Aktion einrichten und verwenden .

Schritt 3: Live-Bereitstellung

Wenn Sie bereit sind, Ihre Änderungen mit der Welt zu teilen, stellen Sie Ihren Hosting-Inhalt und Ihre Konfiguration in Ihrem Live-Kanal bereit. Firebase bietet für diesen Schritt je nach Anwendungsfall verschiedene Optionen (siehe Optionen unten).

Option 1: Klonen Sie von einem Vorschaukanal auf Ihren Live-Kanal

Diese Option gibt Ihnen die Gewissheit, dass Sie auf Ihrem Live-Kanal genau den Inhalt und die Konfiguration bereitstellen, die Sie in einem Vorschaukanal getestet haben. Erfahren Sie mehr über das Klonen von Versionen .

  1. Führen Sie in einem beliebigen Verzeichnis den folgenden Befehl aus:

    firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:live

    Ersetzen Sie jeden Platzhalter durch Folgendes:

    • SOURCE_SITE_ID und TARGET_SITE_ID : Dies sind die IDs der Hosting-Sites, die die Kanäle enthalten.

      • Verwenden Sie für Ihre Standard-Hosting-Site Ihre Firebase-Projekt-ID.
      • Sie können Sites angeben, die sich im selben Firebase-Projekt oder sogar in verschiedenen Firebase-Projekten befinden.
    • SOURCE_CHANNEL_ID : Dies ist die Kennung für den Kanal, der derzeit die Version bereitstellt, die Sie auf Ihrem Live-Kanal bereitstellen möchten.

      • Für einen Live-Kanal verwenden Sie live als Kanal-ID.
  2. Sehen Sie sich Ihre Änderungen an (nächster Schritt).

Option 2: Bereitstellung aus Ihrem lokalen Projektverzeichnis auf Ihrem Live-Kanal

Diese Option bietet Ihnen die Flexibilität, Konfigurationen speziell für den Live-Kanal anzupassen oder sie bereitzustellen, selbst wenn Sie keinen Vorschaukanal verwendet haben.

  1. Führen Sie im Stammverzeichnis Ihres lokalen Projektverzeichnisses den folgenden Befehl aus:

    firebase deploy --only hosting
  2. Sehen Sie sich Ihre Änderungen an (nächster Schritt).

Schritt 4: Sehen Sie sich Ihre Änderungen auf Ihrer Live-Site an

Beide oben genannten Optionen stellen Ihren Hosting-Inhalt und Ihre Hosting-Konfiguration auf den folgenden Websites bereit:

  • Die von Firebase bereitgestellten Subdomains für Ihre Standard-Hosting-Site und alle zusätzlichen Hosting-Sites:
    SITE_ID .web.app (wie PROJECT_ID .web.app )
    SITE_ID .firebaseapp.com (wie PROJECT_ID .firebaseapp.com )

  • Alle benutzerdefinierten Domänen , die Sie mit Ihren Hosting-Sites verbunden haben.

Um die Bereitstellung auf eine bestimmte Hosting-Site zu beschränken, geben Sie in Ihrem CLI-Befehl ein Bereitstellungsziel an .

Weitere Bereitstellungsaktivitäten und Informationen

Fügen Sie einen Kommentar für die Bereitstellung hinzu

Sie können einer Bereitstellung optional einen Kommentar hinzufügen. Dieser Kommentar wird zusammen mit den anderen Bereitstellungsinformationen im Hosting-Dashboard in der Firebase-Konsole angezeigt. Zum Beispiel:

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

Fügen Sie skriptbasierte Aufgaben vor und nach der Bereitstellung hinzu

Sie können optional Shell-Skripte mit dem firebase deploy -Befehl verbinden, um Aufgaben vor oder nach der Bereitstellung auszuführen. Beispielsweise könnte ein Postdeploy-Hook Administratoren über die Bereitstellung neuer Websiteinhalte informieren. Weitere Informationen finden Sie in der Firebase-CLI-Dokumentation .

Bereitgestellte Inhalte zwischenspeichern

Wenn eine Anforderung für statischen Inhalt gestellt wird, speichert Firebase Hosting den Inhalt automatisch im CDN zwischen. Wenn Sie den Inhalt Ihrer Website erneut bereitstellen, löscht Firebase automatisch alle zwischengespeicherten statischen Inhalte im gesamten CDN, sodass neue Anfragen Ihre neuen Inhalte erhalten.

Beachten Sie, dass Sie das Caching dynamischer Inhalte konfigurieren können.

Bereitstellung über HTTPS

Stellen Sie sicher, dass alle externen Ressourcen, die nicht auf Firebase Hosting gehostet werden, über SSL (HTTPS) geladen werden, einschließlich aller externen Skripte. Die meisten Browser gestatten Benutzern nicht das Laden „gemischter Inhalte“ (SSL- und Nicht-SSL-Verkehr).

Nächste Schritte