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 andere Fälle, 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

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).