In den meisten Fällen empfehlen wir, automatische Roll-outs oder manuell ausgelöste Roll-outs über die Firebase-Konsole zu verwenden. Möglicherweise benötigen Sie jedoch einen benutzerdefinierten Bereitstellungsablauf. App Hosting bietet mehrere Optionen für die benutzerdefinierte Bereitstellung.
Über Quelle bereitstellen
Bei der Bereitstellung aus der Quelle können Sie den Quellcode und die Konfiguration Ihrer Anwendung direkt an App Hosting übertragen, ohne dass eine dauerhafte GitHub-Verbindung erforderlich ist.
Bei der Bereitstellung aus dem Quellcode 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 Bereitstellungen aus lokalen Quellen 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 Ihrem Deployment ausgeschlossen.
Sie können die Bereitstellung über eine lokale Quelle entweder mit der Firebase-CLI oder der Firebase-Konsole vornehmen.
Erforderliche IAM-Berechtigungen und Infrastruktureinrichtung
Da sowohl die Firebase-Befehlszeile als auch die Firebase-Konsole dieselbe Backend-Infrastruktur zum Speichern und Erstellen Ihrer Quellarchive verwenden, gelten für beide Bereitstellungsmethoden dieselben IAM-Berechtigungsanforderungen.
Die genauen Anforderungen hängen davon ab, ob Sie die Bereitstellung zum ersten Mal an einem bestimmten Standort (Region) vornehmen. Weitere Informationen zu Berechtigungen finden Sie in der Übersicht über Firebase IAM und in den spezifischen Firebase App Hosting-Berechtigungen.
Berechtigungen für die Ersteinrichtung (erste Bereitstellung an einem Standort)
Wenn die Bereitstellung lokaler Quellen zum ersten Mal an einem Projektspeicherort initiiert wird, muss Hosting einen GCS-Bucket zum Speichern Ihrer Archive bereitstellen und dem Hosting-Dienst-Agent Zugriff darauf gewähren. Da es sich um administrative Aufgaben auf Projektebene handelt, sind die Berechtigungen „Projekteigentümer“ oder „IAM-Administrator“ erforderlich. Ein Nutzer mit der Rolle „Bearbeiter“ oder „Betrachter“ kann diese Ersteinrichtung nicht vornehmen und wird blockiert.
Erforderliche Berechtigungen für die Einrichtung:
- Storage API aktivieren:
serviceusage.services.enable - Quell-Bucket erstellen:
storage.buckets.createundstorage.buckets.list - Dienst-Agent konfigurieren:
resourcemanager.projects.setIamPolicy, 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 einem 30-Tage-Lebenszyklus 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 Objektlebenszyklen verwalten.
Berechtigungen für nachfolgende Bereitstellungen (nachdem der Standort initialisiert wurde)
Sobald der Quell-Bucket und die Rollenbindungen für einen Standort initialisiert wurden (entweder durch eine erste CLI-Bereitstellung oder eine Konsoleneinrichtung), können normale Entwickler, Bearbeiter oder App Hosting-Administratoren Updates bereitstellen. Für Routinebereitstellungen sind keine Administratorberechtigungen auf Projektebene erforderlich.
Berechtigungen für die aktive Bereitstellung:
- Bucket bestätigen:
storage.buckets.list - Quellarchiv hochladen:
storage.objects.create - Build und Roll-out auslösen: Standardberechtigungen für Hosting (
apphosting.builds.createundapphosting.rollouts.create)
Mit der Firebase-CLI aus Quelle bereitstellen
Mit der Firebase CLI v14.4.0 und höher können Sie den Quellcode und die Konfigurationen Ihrer App direkt von Ihrem lokalen Computer an Firebase senden. Das ist praktisch, wenn Sie bereits andere Firebase-Bereitstellungen (z. B. Sicherheitsregeln oder Funktionen) verwalten und Ihre Web-App und Backend-Dienste mit einem einzigen CLI-Befehl bereitstellen möchten.
Vorbereitung
- Ihre Projekte müssen den Blaze-Tarif nutzen.
- Sie müssen firebase-tools Version 14.4.0 oder höher verwenden.
Bereitstellungsschritte
- Führen Sie
firebase init apphostingin Ihrem lokalen Projektverzeichnis aus. - Wählen Sie bei Aufforderung Vorhandenes Projekt verwenden und dann das gewünschte Firebase-Projekt 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, auf 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, können automatische Basis-Image-Updates (ABIU) automatisch Sicherheitspatches auf Ihre zugrunde liegende Umgebung anwenden.
- Mit App Hosting werden Ihre Bereitstellungseinstellungen in
firebase.jsongespeichert. Die Datei wird in Ihrem lokalen Projekt erstellt, falls sie noch nicht vorhanden ist. Nachdem die Initialisierung erfolgreich abgeschlossen wurde, führen Siefirebase 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, über die Sie Anwendungen bereitstellen können, indem Sie direkt ein komprimiertes Quellarchiv hochladen. Dies ist eine Alternative zum GitHub-Verbindungsablauf für Fälle, in denen 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 standardmäßig zwei komprimierte Archivformate:
.zip.tgz
Diese Formate werden im Beschreibungstext des Dateiuploaders explizit aufgeführt.
Bereitstellungsschritte
Option A: Während des anfänglichen Backend-Onboardings
- Quelle auswählen: Wählen Sie im Assistenten zum Erstellen des Backends im Schritt „Wie möchten Sie Ihre App importieren?“ die Option ZIP-Datei hochladen aus.
- Vorbereitung für das Onboarding: Wenn Sie auf „Weiter“ klicken, wird der Hintergrundvorbereitungsprozess ausgelöst. Dabei wird die Storage API sequenziell aktiviert, es wird dafür gesorgt, dass die richtigen Rollen eingerichtet sind, und der Bucket wird aktualisiert. Auf der Benutzeroberfläche wird ein Ladesymbol mit dynamischen Statusmeldungen angezeigt: 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 nicht der Owner ist, aufgrund unzureichender IAM-Berechtigungen eine
403 PERMISSION_DENIEDerhält), wird in 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“ sowie die 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 nicht der Owner 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 Dateiuploadkomponente.
Einstellungen konfigurieren: Geben Sie das App-Stammverzeichnis an (Standardwert:
/).Klicken Sie auf Fertigstellen und bereitstellen: Der eigenständige Button „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 funktionales Backend zu gewährleisten.
Option B: Manuelle Einführung 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 besteht, ist die Option „GitHub“ deaktiviert.
- Vorbereitung und Upload: Die Auswahl löst denselben Hintergrundvorbereitungsprozess aus („API wird aktiviert…“, Berechtigungen werden geprüft… und Bucket wird vorbereitet… Wenn der Upload erfolgreich war, ziehen Sie die Archivdatei per Drag-and-drop in den Uploader oder wählen Sie sie aus, geben Sie das App-Stammverzeichnis an und klicken Sie auf Bereitstellen, um den Build und die Bereitstellung zu starten.
Mit Terraform bereitstellen
Wenn Sie mehr Kontrolle über den Build-Prozess und die bereitgestellte Umgebung benötigen, können Sie die Bereitstellung mit Terraform vornehmen. 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 App Hosting aus Ihrem Quellcode 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 können jederzeit ein GitHub-Repository auf dem Tab Bereitstellung in den Einstellungen eines Backends in der Firebase-Konsole 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
Firebase Studio wird am 22. März 2027 eingestellt. Ihre App Hosting-Back-Ends sind davon nicht betroffen, aber der Button Veröffentlichen in Firebase Studio wird eingestellt. Wenn Sie weiterhin Updates veröffentlichen möchten, ohne die URL zu ändern, müssen Sie Ihr Projekt migrieren. Informationen zur Migration