Roll-outs und Releases verwalten

Wenn Sie automatische Roll-outs aktiviert haben, wird jedes Mal, wenn Sie einen neuen Commit in den Live-Branch Ihres GitHub-Repositorys pushen, von App Hosting automatisch eine neue Version Ihrer App bereitgestellt. 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 allen anderen Fällen, in denen Sie einen Roll-out erzwingen möchten.

Roll-outs ansehen

In der Firebase Konsole haben Sie Zugriff auf detaillierte Informationen zu allen Roll-outs Ihrer App.

Gehen Sie zu Hosting & Serverless > App Hosting, und wählen Sie dann für das Back-End, dessen Roll-outs Sie sehen möchten, die Option Ansehen aus. Auf dem Tab Roll-outs für das Back-End wird eine Tabelle mit dem Verlauf aller Roll-outs für dieses Back-End angezeigt.

Jeder Roll-out-Eintrag enthält Links zum Cloud Build Job und zur Änderung oder zum Commit, durch die bzw. den der Roll-out ausgelöst wurde, sowie grundlegende Informationen zum Autor, zum Erstellungsdatum und zum Status 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 Logs zugreifen, indem Sie auf die Build-ID klicken.
  • Die Änderung ist der GitHub-Commit oder eine andere Aktion, durch die bzw. den der Roll-out ausgelöst wurde.

Roll-out manuell auslösen

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

  • Erzwingen der Neugenerierung statischer Inhalte
  • Ermöglichen, dass ein CI/CD-System Roll-outs auslöst
  • Beschränken von Produktions-Roll-outs auf bestimmte Daten oder Uhrzeiten

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

  1. Gehen Sie in der Firebase Konsole zu Hosting & Serverless > App Hosting.
  2. Klicken Sie für das Back-End, für das Sie einen Roll-out erstellen möchten, auf Ansehen.
  3. Wählen Sie in der Zusammenfassung des Back-End-Dashboards die Option Roll-out erstellen aus.
  4. Wählen Sie den Branch aus, der bereitgestellt werden soll.
  5. Wählen Sie den Commit aus, der bereitgestellt werden soll. Das kann der letzte Commit oder ein früherer Commit sein, der durch seine Commit-ID angegeben wird.
  6. Wählen Sie Erstellen aus. In der Tabelle mit dem Roll-out-Verlauf werden der Status und eine Build-Nummer für den Roll-out angezeigt. Wenn der Roll-out-Prozess abgeschlossen ist, wird dieser Roll-out als aktueller Roll-out angezeigt.

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

firebase apphosting:rollouts:create BACKEND_ID

Alternativ können Sie mit der Option --git-branch einen Roll-out für den letzten Commit eines bestimmten Branchs starten:

firebase apphosting:rollouts:create BACKEND_ID
--git_branch BRANCH_NAME

Sie können auch einen Roll-out mit einem bestimmten Commit erstellen. Verwenden Sie dazu die Option --git-commit:

firebase apphosting:rollouts:create BACKEND_ID
--git_commit COMMIT_ID

Vorherigen Roll-out wiederherstellen

App Hosting bietet zwei Möglichkeiten, einen vorherigen Roll-out wiederherzustellen:

  • Sofortiges Rollback ohne Neuerstellung
  • Neuerstellung und Rollback zu einer vorherigen Version

Sofortiges Rollback erstellen

Manchmal müssen Sie schnell zu einer älteren Version Ihrer App zurückkehren, z. B. wenn Sie einen schwerwiegenden Fehler in einem neu bereitgestellten Roll-out entdeckt haben oder wenn ein instabiler Build neue Roll-outs verhindert. 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 von der ersten Erstellung.

So erstellen Sie ein sofortiges Rollback:

  1. Gehen Sie in der Firebase Konsole zu Hosting & Serverless > App Hosting.
  2. Klicken Sie für das Back-End, für das Sie ein Rollback erstellen möchten, auf Ansehen.
  3. Wählen Sie den Tab Roll-outs aus.
  4. Wählen Sie in der Tabelle Verlauf für das Back-End das Dreipunkt-Menü für einen vorherigen Build aus.
  5. Wählen Sie Rollback zu diesem Build aus und bestätigen Sie die Auswahl.

Neuerstellung und Rollback

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 beispielsweise in der letzten Version ein API-Schlüsselwert in Secret Manager aktualisiert wurde, kann durch die Neuerstellung sichergestellt werden, dass der neue Schlüssel nach dem Rollback in Ihrer App verwendet wird.

So führen Sie eine Neuerstellung und ein Rollback durch:

  1. Gehen Sie in der Firebase Konsole zu Hosting & Serverless > App Hosting.
  2. Klicken Sie für das Back-End, für das Sie ein Rollback erstellen möchten, auf Dashboard ansehen.
  3. Wählen Sie den Tab Roll-outs aus.
  4. Wählen Sie Roll-out erstellen aus.
  5. Wählen Sie im Dialogfeld Roll-out erstellen die Option Früherer Commit aus und geben Sie dann die Commit-ID für die Version ein, die Sie neu erstellen und zu der Sie ein Rollback durchführen möchten. Die Commit-ID ist Teil der „Änderungsdetails“ für jeden in der Roll-out-Verlaufstabelle aufgeführten Roll-out und in Klammern im Label enthalten.
  6. Wählen Sie Erstellen aus, um das Rollback zu starten.

Roll-out-Einstellungen ändern

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

  1. Gehen Sie in der Firebase Konsole zu Hosting & Serverless > App Hosting.
  2. Klicken Sie für das Back-End, für das Sie die Roll-out-Einstellungen aktualisieren möchten, auf Ansehen.
  3. Wählen Sie im Back-End-Dashboard Einstellungen aus. In der Standardansicht werden Informationen zu Domains und benutzerdefinierten Domains angezeigt.
  4. 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 App-Stammverzeichnisses und der Umgebung für das Back-End (siehe In mehreren Umgebungen bereitstellen).