In den meisten Fällen empfehlen wir, automatische Roll-outs oder manuell ausgelöste Roll-outs über die Firebase Console zu verwenden. Möglicherweise benötigen Sie jedoch einen individuelleren Bereitstellungsablauf. App Hosting bietet mehrere Optionen für die benutzerdefinierte Bereitstellung.
Über Quelle bereitstellen
Wenn Sie über die Quelle bereitstellen, können Sie den Quellcode und die Konfiguration Ihrer Anwendung direkt an App Hosting senden, ohne dass eine dauerhafte GitHub Verbindung erforderlich ist.
Bei der Bereitstellung über die Quelle lädt App Hosting Ihren Quellcode in einen
Google Cloud Storage Bucket hoch, führt den Build-Befehl Ihres Frameworks in
Cloud Build aus und stellt die kompilierten Artefakte in Cloud Run und
Cloud CDN bereit. Für lokale
Quellbereitstellungen wird derselbe Build-Prozess wie für GitHub-Bereitstellungen verwendet. Wenn in Ihrem Projekt eine .gitignore-Datei vorhanden ist, werden die darin aufgeführten Dateien und Ordner von der Bereitstellung ausgeschlossen.
Sie können entweder über eine lokale Quelle mit der Firebase CLI oder über die Firebase Konsole bereitstellen.
Erforderliche IAM-Berechtigungen und Infrastruktureinrichtung
Da sowohl die Firebase CLI als auch die Firebase Console dieselbe Backend-Infrastruktur zum Speichern und Erstellen Ihrer Quellarchive verwenden, gelten für beide Bereitstellungsmethoden dieselben Anforderungen an die IAM Berechtigungen.
Die genauen Anforderungen hängen davon ab, ob Sie zum ersten Mal an einem bestimmten Standort (Region) bereitstellen. Weitere Informationen zu Berechtigungen finden Sie unter der Übersicht über Firebase IAM und den spezifischen Berechtigungen für Firebase App Hosting.
Berechtigungen für die erste Einrichtung (erste Bereitstellung an einem Standort)
Wenn die lokale Quellbereitstellung zum ersten Mal an einem Projektstandort initiiert wird, muss Hosting einen GCS-Bucket bereitstellen, um Ihre Archive zu speichern, und dem Hosting Dienst-Agent Zugriff darauf gewähren. Da es sich um administrative Aufgaben auf Projektebene handelt, sind die Berechtigungen „Projektinhaber“ oder „IAM-Administrator“ erforderlich. Ein Nutzer mit der einfachen Rolle „Bearbeiter“ oder „Betrachter“ kann diese erste Einrichtung nicht vornehmen und wird blockiert.
Zu den erforderlichen Berechtigungen für die Einrichtung gehören:
- Storage API aktivieren:
serviceusage.services.enable - Quell-Bucket erstellen:
storage.buckets.createundstorage.buckets.list - Dienst-Agent konfigurieren:
resourcemanager.projects.setIamPolicygewähren, um Hosting Lesezugriff (roles/storage.objectViewer) zu gewähren, damit der hochgeladene Code während der Builds abgerufen werden kann.
Bei der ersten Bereitstellung wird der GCS-Bucket mit einer Lebensdauer von 30 Tagen erstellt. Danach wird der Bucket gelöscht. Sie können diesen Zeitraum jedoch in der Cloud Console unter Cloud Storage > Buckets > Lebenszyklus > Regeln verwalten. Weitere Informationen finden Sie unter Lebenszyklen von Objekten verwalten.
Berechtigungen für nachfolgende Bereitstellungen (nach der Initialisierung des Standorts)
Sobald der Quell-Bucket und die Rollenbindungen für einen Standort initialisiert wurden (entweder durch eine erste Bereitstellung über die CLI oder die Einrichtung in der Console), können normale Entwickler, Bearbeiter oder App Hosting Administratoren Updates bereitstellen. Für Routinebereitstellungen sind keine Berechtigungen für die Verwaltung auf Projektebene erforderlich.
Aktive Bereitstellungsberechtigungen:
- Bucket überprüfen:
storage.buckets.list - Quellarchiv hochladen:
storage.objects.create - Build und Roll-out auslösen: Standard Hosting Berechtigungen (
apphosting.builds.createundapphosting.rollouts.create)
Über die Quelle mit der Firebase CLI bereitstellen
Firebase CLI Version 14.4.0 und höher ermöglicht es Ihnen, den Quellcode und die Konfigurationen Ihrer Anwendung direkt von Ihrem lokalen Computer an Firebase zu senden. Das ist praktisch, wenn Sie bereits andere Firebase-Bereitstellungen (z. B. Sicherheitsregeln oder Funktionen) verwalten und Ihre Webanwendung und Backend-Dienste mit einem einzigen CLI-Befehl bereitstellen möchten.
Vorbereitung
- Ihre Projekte müssen im Blaze-Tarif sein.
- Sie benötigen firebase-tools Version 14.4.0 oder höher.
Bereitstellungsschritte
- Führen Sie
firebase init apphostingin Ihrem lokalen Projektverzeichnis aus. - Wählen Sie bei Aufforderung Vorhandenes Projekt verwenden aus und wählen Sie Ihr Firebase-Zielprojekt aus.
- Wählen Sie ein neues oder vorhandenes Backend für die Bereitstellung aus. In diesem Schritt werden Hosting Bereitstellungen für Ihr lokales Verzeichnis eingerichtet und Sie werden nach Konfigurationsdetails gefragt:
- Die ID des Backends, in dem die Bereitstellung erfolgen soll
- Die Region, in der die Bereitstellung erfolgen soll, wenn ein neues Backend erstellt wird
- Der Pfad zum Stammverzeichnis Ihres Anwendungscodes
- Ihre bevorzugte Node.js-Laufzeit. Wenn Sie eine versionierte Laufzeit auswählen, werden automatische Basis-Image-Updates (ABIU) aktiviert, um automatisch Sicherheitspatches auf Ihre zugrunde liegende Umgebung anzuwenden.
- App Hosting speichert Ihre Bereitstellungseinstellungen in
firebase.json, erstellt die Datei in Ihrem lokalen Projekt, falls sie noch nicht vorhanden ist. Führen Sie nach Abschluss der Initialisierungfirebase deployaus, um Ihren Quellcode bereitzustellen.
Beispiel für firebase.json
{
"apphosting": [
{
"backendId": "my-backend",
// rootDir specifies the directory containing the app to deploy, but the entire
// parent directory of firebase.json will be zipped and uploaded to ensure that
// dependencies outside of the app directory will be available at build time.
"rootDir": "./my-app",
"ignore": [
"node_modules",
".git",
"firebase-debug.log",
"firebase-debug.*.log",
"functions"
]
}
]
}
Mit der Firebase Console bereitstellen (ZIP-Upload)
Die Firebase Konsole bietet eine grafische Benutzeroberfläche, mit der Sie Anwendungen bereitstellen können, indem Sie direkt ein komprimiertes Quellarchiv hochladen. Dies ist eine Alternative zum GitHub-Verbindungsablauf, wenn Sie GitHub nicht verwenden möchten oder eine andere CI/CD-Einrichtung bevorzugen.
Archiv-Uploads können bei der ersten Backend-Erstellung oder beim Erstellen eines manuellen Roll-outs für ein vorhandenes Backend erfolgen, einschließlich Backends, die ursprünglich mit der Firebase CLI bereitgestellt wurden.
Unterstützte Formate
Der Console-Uploader validiert und akzeptiert nativ zwei komprimierte Archivformate:
.zip.tgz
Diese Formate werden explizit im Beschreibungstext des Datei-Uploaders angezeigt.
Bereitstellungsschritte
Option A: Bei der ersten Backend-Einrichtung
- Quelle auswählen: Wählen Sie im Backend-Erstellungsassistenten im Schritt „Wie möchten Sie Ihre Anwendung importieren?“ die Option ZIP-Datei hochladen aus.
- Einrichtung vorbereiten: Wenn Sie auf „Weiter“ klicken, wird der Hintergrund
vorbereitungsablauf ausgelöst, bei dem die Storage API sequenziell aktiviert, die
richtigen Rollen eingerichtet und der Bucket aktualisiert wird. Die Benutzeroberfläche zeigt einen Lade-
Spinner mit dynamischen Statusmeldungen an: „API wird aktiviert...“, „Berechtigungen werden geprüft...“ und „Bucket wird vorbereitet...“.
- Fehlerbehandlung und Schutzmaßnahmen: Wenn ein Vorbereitungsschritt fehlschlägt (z. B. wenn ein Nutzer, der kein Inhaber ist, aufgrund unzureichender IAM-Berechtigungen eine
403 PERMISSION_DENIED-Meldung erhält), wird auf der Benutzeroberfläche eine entsprechende Warnung angezeigt, in der Sie aufgefordert werden, sich an einen Project Owner zu wenden. Die Stepper-Navigation ist gesperrt und die Schaltfläche „Weiter“ und die endgültige Schaltfläche „Fertigstellen und bereitstellen“ bleiben deaktiviert, bis das Problem behoben ist.
- Fehlerbehandlung und Schutzmaßnahmen: Wenn ein Vorbereitungsschritt fehlschlägt (z. B. wenn ein Nutzer, der kein Inhaber ist, aufgrund unzureichender IAM-Berechtigungen eine
- Dateien hochladen: Wenn die Vorbereitung abgeschlossen ist, wählen Sie Ihre Archivdatei aus oder ziehen Sie sie in die Datei-Uploader-Komponente.
Einstellungen konfigurieren: Geben Sie das Stammverzeichnis der Anwendung an (Standardeinstellung ist
/).Klicken Sie auf Fertigstellen und bereitstellen: Die eigenständige Schaltfläche „Fertigstellen“ ist für ZIP-Uploads deaktiviert, da das Hochladen eines Archivs eine einmalige Aktion ist, auf die sofort eine Bereitstellung folgen muss, um ein funktionsfähiges Backend zu gewährleisten.
Option B: Manuelles Roll-out erstellen
- Dialogfeld öffnen: Klicken Sie im Hosting Dashboard auf Roll-out erstellen.
- Quelle auswählen: Wählen Sie im Stepper des Dialogfelds ZIP-Datei hochladen aus. Wenn für das Backend keine GitHub-Verbindung vorhanden ist, ist die Option „GitHub“ deaktiviert.
- Vorbereitung und Upload: Durch die Auswahl wird derselbe Hintergrund vorbereitungsablauf ausgelöst („API wird aktiviert...“, „Berechtigungen werden geprüft...“ und „Bucket wird vorbereitet...“). Wenn der Vorgang erfolgreich abgeschlossen wurde, ziehen Sie Ihre Archivdatei in den Uploader oder wählen Sie sie aus, geben Sie das Stammverzeichnis der Anwendung an und klicken Sie auf Bereitstellen, um den Build und das Roll-out auszulösen.
Mit Terraform bereitstellen
Wenn Sie mehr Kontrolle über den Build-Prozess und die bereitgestellte Umgebung benötigen, können Sie mit Terraform bereitstellen. Mit Terraform können Sie Ihre App Hosting Ressourcen mithilfe deklarativer Konfigurationsdateien definieren und verwalten. Außerdem können Sie Ihr eigenes vorgefertigtes Container-Image direkt in App Hosting bereitstellen, anstatt es von App Hosting aus Ihrem Quell code erstellen zu lassen.
Wenn Sie Terraform noch nicht kennen, lesen Sie den Artikel Erste Schritte mit Terraform und Firebase. Wenn Sie bereits mit Terraform vertraut sind, können Sie mit Beispielkonfigurationsdateien und anderen App Hosting Ressourcen beginnen.
GitHub-Verbindung für CI/CD einrichten
Sie haben die Option ein GitHub-Repository jederzeit auf dem Tab Bereitstellung der Einstellungen eines Backends in der Firebase Console zu verbinden. So können Sie einen App-Prototyp aus einer lokalen Umgebung bereitstellen und dann zu einer automatisierten CI/CD-Pipeline wechseln, wenn Sie bereit sind.
Mit KI-Tools bereitstellen
Wir stellen Firebase Studio am 22. März 2027 ein. Ihre App Hosting Backends sind davon nicht betroffen, aber die Veröffentlichen Schaltfläche in Firebase Studio wird eingestellt. Wenn Sie weiterhin Updates veröffentlichen möchten, ohne die URL zu ändern, migrieren Sie Ihr Projekt. Weitere Informationen zur Migration