Wenn Sie automatische Roll-outs aktiviert haben, wird bei jedem Push eines neuen Commits an den Live-Branch in Ihrem GitHub-Repository App Hosting automatisch eine neue Version Ihrer App bereitgestellt. Sie können den Roll-out-Status in der Firebase Console oder in der App Hosting GitHub-Prüfung einsehen.
Außerdem unterstützt App Hosting manuell ausgelöste Roll-outs für die CI/CD-Integration oder andere Fälle, 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. Wählen Sie in App Hosting die Option Anzeigen für das Backend aus, dessen Roll-outs Sie sehen möchten. Auf dem Tab Rollouts für das Backend wird eine Tabelle mit dem Verlauf aller Rollouts für dieses Backend angezeigt.
Jeder Rollout-Eintrag enthält Links zum Cloud Build-Job und zur Änderung oder zum Commit, die bzw. der den Rollout ausgelöst hat, sowie grundlegende Informationen zum Autor, zum Erstellungsdatum und zum Status des Rollouts.
- 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, die den Roll-out ausgelöst hat.
Roll-out manuell auslösen
Wenn Sie ein Rollout manuell über Ihre GitHub-Quelle auslösen möchten, ohne einen neuen Commit zu pushen, können Sie ein Rollout über die Firebase-Konsole oder die Firebase-Befehlszeile erstellen. Das ist in folgenden Fällen nützlich:
- Erzwingen der Neuerstellung statischer Inhalte.
- Ein CI/CD-System kann Rollouts auslösen.
- Die Einführung in der Produktion auf bestimmte Datumsangaben oder Uhrzeiten beschränken.
So lösen Sie ein Rollout in der Firebase-Konsole aus:
- Wählen Sie in App Hosting die Option Ansehen für das Backend aus, für das Sie einen Roll-out erstellen möchten.
- Wählen Sie in der Zusammenfassung des Backend-Dashboards Roll-out erstellen aus.
- Wählen Sie den Zweig aus, der bereitgestellt werden soll.
- 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.
- 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 Einführungsprozess abgeschlossen ist, wird diese Einführung als aktuelle Einführung angezeigt.
Führen Sie den folgenden Befehl aus, um ein Rollout in der Firebase CLI auszulösen, und wählen Sie den Branch für das Rollout aus, wenn Sie dazu aufgefordert werden:
firebase apphosting:rollouts:create BACKEND_ID
Alternativ können Sie einen Rollout für den letzten Commit für einen bestimmten Branch mit der Option --git-branch
starten:
firebase apphosting:rollouts:create BACKEND_ID
--git_branch BRANCH_NAME
Mit der Option --git-commit
können Sie auch einen Rollout mit einem bestimmten Commit erstellen:
firebase apphosting:rollouts:create BACKEND_ID
--git_commit COMMIT_ID
Vorherigen Roll-out wiederherstellen
Mit App Hosting haben Sie zwei Möglichkeiten, einen vorherigen Roll-out wiederherzustellen:
- Sofortiges Zurücksetzen ohne erneutes Erstellen
- Neu erstellen und Rollback zu einer vorherigen Version durchführen
Sofort-Rollback erstellen
Manchmal müssen Sie möglicherweise schnell zu einer älteren Version Ihrer App zurückkehren, z. B. wenn Sie einen kritischen Fehler in einem neu bereitgestellten Rollout entdeckt haben oder wenn ein instabiler Build neue Rollouts 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, die beim ersten Erstellen verwendet wurden.
So erstellen Sie einen sofortigen Rollback:
- Wählen Sie in App Hosting die Ansicht für das Backend aus, für das Sie ein Rollback erstellen möchten.
- Wählen Sie den Tab Rollouts aus.
- Wählen Sie in der Tabelle Verlauf für das Backend das Dreipunkt-Menü für einen vorherigen Build aus.
- Wählen Sie Rollback zu diesem Build durchführen aus und bestätigen Sie die Auswahl.
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 der letzten Version beispielsweise ein API-Schlüsselwert in Secret Manager aktualisiert wurde, kann durch das Neuerstellen sichergestellt werden, dass der neue Schlüssel nach dem Rollback in Ihrer App verwendet wird.
So erstellen Sie die App neu und führen ein Rollback durch:
- Wählen Sie in App Hosting für das Backend, für das Sie ein Rollback erstellen möchten, die Option Dashboard ansehen aus.\
- Wählen Sie den Tab Rollouts aus.
- Wählen Sie Einführung erstellen aus.
- Klicken Sie im Dialogfeld Rollout erstellen das Kästchen Früherer Commit an und geben Sie dann die Commit-ID für die Version ein, die Sie neu erstellen und auf die Sie ein Rollback durchführen möchten. Die Commit-ID ist Teil der „Änderungsdetails“ für jeden Roll-out,der im Roll-out-Verlauf aufgeführt ist. Sie steht in Klammern im Label.
- 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 Rollouts ändern und automatische Rollouts über die Steuerelemente im Dashboard für ein Backend unter Einstellungen > Bereitstellung deaktivieren oder aktivieren.
- Wählen Sie in App Hosting für das Backend, in dem Sie die Roll-out-Einstellungen aktualisieren möchten, Anzeigen aus.
- Wählen Sie im Backend-Dashboard Einstellungen aus. In der Standardansicht werden Informationen zu Domains und benutzerdefinierten Domains angezeigt.
- 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 Backend (siehe In mehreren Umgebungen bereitstellen).