In den meisten Fällen empfehlen wir die Verwendung von automatischen Roll-outs oder manuell ausgelösten Roll-outs über die Firebase-Konsole. Möglicherweise benötigen Sie jedoch einen individuelleren Bereitstellungsablauf. App Hosting bietet mehrere Optionen für die benutzerdefinierte Bereitstellung.
Über Quelle bereitstellen
Wenn Sie aus der Quelle bereitstellen, können Sie den Quellcode und die Konfiguration Ihrer Anwendung direkt an App Hosting übertragen, ohne dass eine persistente 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 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 die Bereitstellung aus einer lokalen Quelle entweder mit der Firebase-Befehlszeile oder der Firebase Console vornehmen.
Erforderliche IAM-Berechtigungen und Infrastruktureinrichtung
Da sowohl die Firebase-Befehlszeile als auch die Firebase-Console 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 zum ersten Mal in einem bestimmten Standort (Region) bereitstellen. Weitere Informationen zu Berechtigungen finden Sie in der Übersicht über Firebase IAM und in den spezifischen Firebase App Hosting-Berechtigungen.
Berechtigungen für das Onboarding (erste Bereitstellung an einem Standort)
Wenn die Bereitstellung einer lokalen Quelle zum ersten Mal an einem Projektstandort initiiert wird, muss App Hosting einen GCS-Bucket bereitstellen, um Ihre Archive zu speichern, und dem App Hosting-Dienst-Agent Zugriff darauf gewähren. Da es sich hierbei um administrative Aufgaben auf Projektebene handelt, sind Berechtigungen als Project Owner oder IAM Admin erforderlich. Nutzer mit der einfachen Rolle „Bearbeiter“ oder „Betrachter“ können diese Ersteinrichtung nicht ausführen und werden 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 App 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 Bereitstellung über die Befehlszeile oder durch die Einrichtung in der Console), können reguläre Entwickler, Bearbeiter oder App Hosting-Administratoren Updates bereitstellen. Für routinemäßige Bereitstellungen sind keine Administratorberechtigungen auf Projektebene erforderlich.
Berechtigungen für die aktive Bereitstellung:
- Bucket prüfen:
storage.buckets.list - Quellarchiv hochladen:
storage.objects.create - Build und Roll-out auslösen: Standard-App Hosting-Berechtigungen (
apphosting.builds.createundapphosting.rollouts.create)
Mit der Firebase-CLI aus der Quelle bereitstellen
Mit der Firebase-Befehlszeile ab Version 14.4.0 können Sie den Quellcode und die Konfigurationen Ihrer App direkt von Ihrem lokalen Computer an Firebase übertragen. Das ist praktisch, wenn Sie bereits andere Firebase-Bereitstellungen wie Sicherheitsregeln oder Funktionen verwalten und Ihre Webanwendung und Backend-Dienste zusammen 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 Firebase-Zielprojekt aus.
- Wählen Sie ein neues oder vorhandenes Backend für die Bereitstellung aus. In diesem Schritt werden App 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 das neue Backend bereitgestellt werden 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.
- App Hosting speichert Ihre Bereitstellungseinstellungen in
firebase.jsonund erstellt die Datei in Ihrem lokalen Projekt, falls sie noch nicht vorhanden ist. Führen Sie nach erfolgreicher Initialisierungfirebase deployaus, um den 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 Oberfläche, über die Sie Anwendungen bereitstellen können, indem Sie ein komprimiertes Quellarchiv direkt 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 während der ersten Backend-Erstellung oder beim Erstellen eines manuellen Roll-outs auf einem vorhandenen Backend durchgeführt werden, einschließlich Backends, die ursprünglich mit der Firebase-Befehlszeile bereitgestellt wurden.
Unterstützte Formate
Der Console-Uploader validiert und akzeptiert nativ zwei komprimierte Archivformate:
.zip.tgz
Diese Formate werden im Beschreibungstext des Datei-Uploaders explizit angezeigt.
Bereitstellungsschritte
Option A: Während der Ersteinrichtung des Backends
- Quelle auswählen: Wählen Sie im Assistenten zum Erstellen des Back-Ends im Schritt „Wie möchten Sie Ihre Anwendung importieren?“ die Option ZIP-Datei hochladen aus.
- Onboarding-Vorbereitung: Wenn Sie auf „Weiter“ klicken, wird der Vorbereitungsablauf im Hintergrund ausgelöst. Dabei wird die Storage API aktiviert, es wird geprüft, ob die richtigen Rollen eingerichtet sind, und der Bucket wird aktualisiert oder eingefügt. In 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 Nicht-Inhaber aufgrund unzureichender IAM-Berechtigungen einen
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 strikt 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 Nicht-Inhaber aufgrund unzureichender IAM-Berechtigungen einen
- Dateien hochladen: Wenn die Vorbereitung erfolgreich abgeschlossen ist, wählen Sie Ihre Archivdatei aus oder ziehen Sie sie in die Komponente zum Hochladen von Dateien.
Einstellungen konfigurieren: Geben Sie das Stammverzeichnis der Anwendung 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 und sofort eine Bereitstellung erfolgen muss, um ein funktionsfähiges Backend zu gewährleisten.
Option B: Manuellen Roll-out erstellen
- Dialogfeld öffnen: Klicken Sie im Dashboard App Hosting auf Roll-out erstellen.
- Quelle auswählen: Wählen Sie im Stepper des Dialogfelds ZIP-Datei hochladen aus. Wenn das Backend keine bestehende GitHub-Verbindung hat, ist die Option „GitHub“ deaktiviert.
- Vorbereitung und Upload: Die Auswahl löst denselben Hintergrundvorbereitungsablauf aus („API wird aktiviert…“, „Berechtigungen werden geprüft…“ und „Bucket wird vorbereitet…“). Ziehen Sie nach erfolgreicher Anmeldung 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 die Einführung auszulösen.
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 vordefiniertes Container-Image direkt in App Hosting bereitstellen, anstatt sich darauf zu verlassen, dass App Hosting es aus Ihrem Quellcode erstellt.
Wenn Sie Terraform noch nicht kennen, lesen Sie den Hilfeartikel 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 der Backend-Einstellungen 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 Ihre URL zu ändern, migrieren Sie Ihr Projekt. Informationen zur Migration