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 der 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 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 der Bereitstellung 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 CLI 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 Berechtigungen für Firebase App Hosting.
Berechtigungen für das erste Onboarding (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 auf diese gewähren. Da es sich um administrative Aufgaben auf Projektebene handelt, sind die Berechtigungen „Projektinhaber“ oder „IAM-Administrator“ erforderlich. Ein Nutzer mit der Rolle „Bearbeiter“ oder „Betrachter“ kann dieses erste Setup nicht durchführen und wird blockiert.
Die erforderlichen Berechtigungen für die Einrichtung sind:
- 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 Lebenszyklus 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 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 Rollout auslösen: Standardberechtigungen Hosting (
apphosting.builds.createundapphosting.rollouts.create)
Mit der Firebase-CLI aus der 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 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 Use an existing project (Vorhandenes Projekt verwenden) und dann das gewünschte Firebase-Projekt aus.
- Wählen Sie entweder ein neues oder ein vorhandenes Backend für die Bereitstellung aus. In diesem Schritt werden Hosting-Bereitstellungen für Ihr lokales Verzeichnis eingerichtet und Sie werden aufgefordert, Konfigurationsdetails anzugeben:
- 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 (Automatic Base 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. Führen Sie nach erfolgreicher 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, ü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-Befehlszeile bereitgestellt wurden.
Unterstützte Formate
Der Konsolen-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 Back-Ends 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, bei dem die Storage API sequenziell aktiviert, die richtigen Rollen eingerichtet und der Bucket eingefügt oder aktualisiert wird. 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 Komponente zum Hochladen von Dateien.
Einstellungen konfigurieren: Geben Sie das App-Stammverzeichnis an (standardmäßig
/).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 funktionales 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 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 Vorgang abgeschlossen ist, ziehen Sie die Archivdatei 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 haben die Möglichkeit, ein GitHub-Repository jederzeit auf dem Tab Bereitstellung in den Einstellungen eines Backends in der Firebase-Konsole 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-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