Roll-outs und Releases verwalten

Wenn automatische Roll-outs aktiviert sind, wird bei jedem Push eines neuen Commits an den Live-Branch in Ihrem GitHub-Repository App Hosting automatisch eine neue Version Ihrer App eingeführt. Sie können den Roll-out-Status in der Firebase-Konsole oder in der App Hosting-GitHub-Prüfung prüfen.

Außerdem unterstützt App Hosting manuell ausgelöste Roll-outs für die CI/CD-Integration oder in anderen Fällen, in denen Sie ein Roll-out erzwingen möchten.

Roll-outs ansehen

Die Firebase-Konsole bietet Zugriff auf detaillierte Informationen zu allen Roll-outs Ihrer App. Wählen Sie auf dem Tab App Hosting die Option Dashboard ansehen für das Backend aus, dessen Roll-outs Sie sehen möchten. Das Dashboard enthält Informationen zum aktuellen Roll-out sowie eine Tabelle mit dem Verlauf aller Roll-outs für dieses Backend.

Screenshot der Ansicht „Roll-outs“ in der Console

Jedes Roll-out enthält ein Git-Commit, einen Cloud Build-Job und eine Cloud Run-Version.

  • Der Git-Commit ist der Snapshot Ihres Repositorys zum Zeitpunkt der Erstellung des Roll-outs.
  • Der Cloud Build-Job ist die Build-Umgebung, in der App Hosting den Build-Befehl Ihrer App ausführt. Sie können auf Cloud Build-Protokolle zugreifen, indem Sie in der Firebase Console auf die Build-ID klicken.
  • Die Version Cloud Run ist die Laufzeitumgebung für Ihre Webanwendung. Weitere Informationen zur Laufzeitkonfiguration eines Roll-outs (z. B. CPU- und Speicherlimits sowie Umgebungsvariablen) erhalten Sie, wenn Sie auf das Dreipunkt-Menü klicken und Version Cloud Run ansehen auswählen.

Roll-out manuell auslösen

Wenn Sie ein Roll-out manuell über Ihre GitHub-Quelle auslösen möchten, ohne einen neuen Commit zu pushen, können Sie ein Roll-out über die Firebase-Konsole oder die Firebase-Befehlszeile erstellen. Das ist in folgenden Fällen nützlich:

  • Die Neugenerierung statischer Inhalte erzwingen
  • Ermöglicht es einem CI/CD-System, Rollouts auszulösen.
  • Produktions-Roll-outs auf bestimmte Datumsangaben oder Uhrzeiten beschränken.

So lösen Sie ein Roll-out in der Firebase-Konsole aus:

  1. Wählen Sie auf dem Tab App Hosting für das Backend, für das Sie ein Roll-out erstellen möchten, die Option Dashboard ansehen aus.
  2. Wählen Sie im Backend-Dashboard Roll-out erstellen aus.
  3. Wählen Sie den zu implementierenden Branch aus.
  4. Wählen Sie den zu implementierenden Commit aus, entweder den neuesten Commit oder einen früheren Commit, der anhand seiner Commit-ID angegeben wird.
  5. Wählen Sie Erstellen aus. Status und Build-Nummer für die Einführung werden in der Tabelle „Einführungsverlauf“ angezeigt. Wenn der Einführungsprozess abgeschlossen ist, wird dieses Roll-out als aktuelles Roll-out angezeigt.

Wenn Sie ein Roll-out in der Firebase-Befehlszeile auslösen möchten, führen Sie den folgenden Befehl aus und wählen Sie auf Aufforderung den Branch für das Roll-out aus:

firebase apphosting:rollouts:create BACKEND_ID

Alternativ können Sie mit der Option --git-branch ein Roll-out für den neuesten Commit für einen bestimmten Branch starten:

firebase apphosting:rollouts:create BACKEND_ID
--git_branch BRANCH_NAME

Mit der Option --git-commit können Sie auch ein Roll-out mit einem bestimmten Commit erstellen:

firebase apphosting:rollouts:create BACKEND_ID
--git_commit COMMIT_ID

Vorheriges Roll-out wiederherstellen

Bei App Hosting haben Sie zwei Möglichkeiten, ein vorheriges Roll-out wiederherzustellen:

  • Sofortige Umkehrung ohne Neuaufbau
  • Datenbank neu erstellen und Rollback auf vorherige Version durchführen

Sofortiges Rollback erstellen

Manchmal müssen Sie schnell zu einer älteren Version Ihrer App zurückkehren, z. B. wenn Sie einen kritischen Fehler in einem neu bereitgestellten Roll-out entdeckt haben oder ein instabiler Build neue Roll-outs blockiert. In solchen Fällen können Sie ein vorhandenes Container-Image Ihrer Wahl aus einem vorherigen Roll-out wiederherstellen. Dieses Image wird nicht neu erstellt, sondern verwendet den Code und die Umgebungskonfiguration aus der Zeit, als es erstellt wurde.

So erstellen Sie einen sofortigen Rollback:

  1. Wählen Sie auf dem Tab App-Hosting für das Backend, für das Sie ein Rollback erstellen möchten, die Option Dashboard ansehen aus.
  2. Wählen Sie in der Tabelle Roll-out-Verlauf für das Backend das Dreipunkt-Menü für einen vorherigen Build aus.
  3. Wählen Sie Rollback zu diesem Build durchführen aus und bestätigen Sie.

Neu erstellen und Rollback ausführen

Wenn Sie zu einer älteren Version Ihrer App zurückkehren, aber die aktuelle Konfiguration beibehalten möchten, können Sie die App im Rahmen des Rollback-Prozesses neu erstellen. Wenn in Ihrer aktuellen Version beispielsweise ein API-Schlüsselwert im Secret Manager aktualisiert wurde, kann durch das Neuaufbauen sichergestellt werden, dass der neue Schlüssel nach dem Rollback in Ihrer App verwendet wird.

So erstellen Sie ein neues Back-End und führen ein Rollback durch:

  1. Wählen Sie auf dem Tab App-Hosting für das Backend, für das Sie ein Rollback erstellen möchten, die Option Dashboard ansehen aus.
  2. Wählen Sie Einführung erstellen aus.
  3. Klicken Sie im Dialogfeld Roll-out erstellen auf Vorheriger Commit und geben Sie dann die Commit-ID für die Version ein, die Sie neu erstellen und auf die Sie zurückwechseln möchten. Die Commit-ID ist Teil der „Änderungsdetails“ für jedes Roll-out,das in Ihrem Roll-out-Verlauf aufgeführt ist. Sie ist im Label in Klammern enthalten.
  4. Wählen Sie Erstellen aus, um mit dem Rollback zu beginnen.

Einstellungen für die Einführung ändern

Sie können den Live-Branch für Roll-outs ändern und automatische Roll-outs über die Steuerelemente in der Ansicht Einstellungen > Bereitstellung im Dashboard für ein Backend deaktivieren oder aktivieren.

  1. Wählen Sie auf dem Tab App Hosting für das Back-End, in dem Sie die Roll-out-Einstellungen aktualisieren möchten, die Option Dashboard ansehen aus.
  2. Wählen Sie im Backend-Dashboard Einstellungen aus. In der Standardansicht werden Informationen zu Domains und benutzerdefinierten Domains angezeigt.
  3. Wählen Sie die Ansicht Bereitstellung aus. In dieser Ansicht können Sie den Live-Branch für Roll-outs ändern und automatische Roll-outs deaktivieren oder aktivieren. Außerdem gibt es Optionen zum Festlegen des Stammverzeichnisses der Anwendung und der Umgebung für das Backend (siehe In mehreren Umgebungen bereitstellen).