Firebase App Hosting została zaprojektowana specjalnie z myślą o nowoczesnym tworzeniu aplikacji internetowych opartym na platformach. Na tej stronie znajdziesz informacje o narzędziach i platformach, które są App Hosting bezpośrednio obsługiwane, a także linki do materiałów o powiązanych platformach i narzędziach.
Platformy internetowe i App Hosting
App Hosting zapewnia 2 poziomy obsługi nowoczesnych platform internetowych: wstępnie skonfigurowaną obsługę kompilacji i wdrażania oraz obsługę na poziomie społeczności dzięki udziałowi w projektach open source zgodnych ze specyfikacją pakietu wyjściowego. W obu przypadkach integrację konkretnej platformy z App Hostingumożliwia komponent adapter platformy.
Platformy z wstępnie skonfigurowaną obsługą kompilacji i wdrażania
Dzięki wstępnie skonfigurowanej obsłudze kompilacji i wdrażania Firebase rozpoznaje, której platformy używasz, sprawdzając plik package-lock.json lub inny plik blokady, i optymalizuje procesy kompilacji i wdrażania aplikacji. Google zobowiązuje się do utrzymywania obsługi tych platform, a zespół pomocy Firebase może przyjmować zgłoszenia problemów i prośby o dodanie funkcji.
Ten poziom obsługi jest dostępny w przypadku tych platform:
- Next.js
- Angular
Szczegółowe informacje o konkretnych wersjach i poziomach obsługi znajdziesz w harmonogramach obsługi.
Jeśli spróbujesz wdrożyć aplikację Node.js, w której brakuje pliku blokady, App Hosting
nie będzie w stanie jej skompilować ani uruchomić. Plik package-lock.json możesz utworzyć,
uruchamiając polecenie npm install w katalogu głównym.
Platformy obsługiwane przez społeczność
Oprócz Next.js i Angular App Hosting obsługuje też wszystkie platformy internetowe, które mogą generować dane wyjściowe zgodne ze specyfikacją pakietu wyjściowego . Autorzy platform mogą korzystać ze specyfikacji pakietu wyjściowego, aby zapewnić obsługę swojej platformy przez App Hosting. Na przykład popularna platforma Nuxt jest obsługiwana przez zespół Nitro, który stworzył adapter Firebase umożliwiający wdrażanie aplikacji Nuxt w App Hosting.
Jeśli chcesz, aby dodatkowe platformy były obsługiwane przez App Hosting, możesz utworzyć adapter platformy lub skontaktować się z osobami odpowiedzialnymi za utrzymanie platformy, aby przekonwertować dane wyjściowe kompilacji na format App Hosting. Adaptery Next.js i Angular to dobre przykłady dla osób tworzących adapter.
Informacje o platformach obsługiwanych przez społeczność znajdziesz na stronie Firebase Open Source. Problemy i prośby o dodanie funkcji w przypadku platform obsługiwanych przez społeczność należy zgłaszać społeczności open source lub autorom platform. W niektórych przypadkach Google może pomóc, ale w przypadku tych adapterów społeczność jest pierwszym źródłem pomocy.
Adaptery platform App Hosting
W App Hosting obsługa platform wstępnie skonfigurowanych i obsługiwanych przez społeczność jest zapewniana przez adaptery platform. App Hosting framework adaptery pełnią 2 kluczowe role:
- Analizują kod źródłowy i pliki konfiguracyjne specyficzne dla platformy (np.
next.config.js) oraz generują pakiet wyjściowy, który może być przetwarzany przez pozostałą część App Hosting infrastruktury. - Uruchamiają polecenie kompilacji aplikacji, aby wygenerować zasoby statyczne i utworzyć zoptymalizowaną wersję aplikacji na potrzeby wersji produkcyjnej.
Adaptery platform kompilują aplikację Node.js za pomocą polecenia npm run build. Najlepiej współpracują z domyślnymi skryptami kompilacji dla każdej platformy: next build w przypadku Next.js i ng build w przypadku Angular. App Hosting będzie próbować kompilacji za pomocą niestandardowych poleceń kompilacji
, ale nie może zagwarantować, że się to uda. Skrypty kompilacji i uruchamiania możesz
zastąpić
w apphosting.yaml.
Kod źródłowy adapterów Next.js i Angular jest dostępny w firebase-framework-tools.
Środowiska wykonawcze dla App Hosting
Po skompilowaniu i wdrożeniu przez App Hosting aplikacja Node.js działa w wersji Cloud Run. W związku z tym wersja środowiska wykonawczego aplikacji powinna mieścić się zarówno w Cloud Run's obsługiwanym zakresie i w zakresie wybranej platformy internetowej. W przypadku wstępnie skonfigurowanej obsługi Angular i Next.js oznacza to, że obsługiwane są te wersje Node.js:
- Next.js 13.5.x i nowsze
- Angular 18.2.x i nowsze
- Node.js 20 i nowsze
App Hosting nie zapewnia automatycznie aktywnej obsługi nowo wydanych wersji platform. Wersje nowsze niż obecnie oznaczona jako „aktywna” będą uznawane za „testowe”, dopóki nie zostaną oficjalnie oznaczone jako „aktywne” w App Hosting.
App Hosting obsługuje długoterminową pomoc techniczną (LTS) w przypadku najnowszej wersji podrzędnej wersji głównej przez rok od zakończenia okresu aktywnej pomocy, pod warunkiem że będziesz regularnie aktualizować wersję podrzędną do najnowszych wersji poprawek. Szczegółowe informacje o Next.js i Angular znajdziesz w tabelach poniżej.
Harmonogram obsługi Next.js
| Wersja | Stan | Wycofanie |
|---|---|---|
| 13.5.x | lts | 2026-10-9 |
| 14.2.x | lts | 2026-10-9 |
| 15.0.x | aktywna | nie wcześniej niż 2025-10-9 |
| 15.1.x | aktywna | nie wcześniej niż 2025-10-9 |
| 15.2.x | aktywna | - |
Harmonogram obsługi Angular
| Wersja | Stan | Wycofanie |
|---|---|---|
| 18.2.x | lts | 2026-10-9 |
| 19.0.x | aktywna | nie wcześniej niż 2025-10-9 |
| 19.1.x | aktywna | nie wcześniej niż 2025-10-9 |
| 19.2.x | aktywna | - |
Automatyczne aktualizacje obrazu podstawowego (ABIU)
Automatyczne aktualizacje obrazu podstawowego (ABIU) to funkcja, która automatycznie stosuje poprawki zabezpieczeń w podstawowym środowisku wykonawczym bez konieczności uruchamiania nowego wdrożenia aplikacji.
App Hosting domyślnie włącza ABIU w przypadku nowych backendów, ale obowiązują te wymagania:
- Środowiska wykonawcze z numerem wersji: aby korzystać z ABIU, musisz określić środowisko wykonawcze z numerem wersji
(np.
nodejs20,nodejs22,nodejs24). App Hosting obsługuje parzyste wersje Node.js, podobnie jak Cloud Run. - Dopasowanie pliku package.json: Wersja Node.js wybrana dla App Hosting
musi być zgodna z wersją określoną w polu
enginesw plikupackage.json. Jeśli wystąpi niezgodność, podczas kompilacji pojawi się błąd z Cloud Build. Za każdym razem, gdy zmieniasz poleengines, przed wdrożeniem zaktualizuj środowisko wykonawcze backendu.
Wyłączanie ABIU
Jeśli chcesz zrezygnować z ABIU, możesz wyłączyć tę funkcję podczas onboardingu lub wybierając
„Nie określono” w przypadku środowiska wykonawczego w konsoli Firebase. Gdy używana jest domyślna wersja nodejs bez numeru, ABIU jest automatycznie wyłączana.
Zarządzanie wersjami środowiska wykonawczego
Wersję środowiska wykonawczego backendu i preferencje ABIU możesz w każdej chwili wyświetlić i zmienić na karcie Ustawienia w panelu App Hosting dashboard. Pamiętaj jednak, że zmiana wersji środowiska wykonawczego może spowodować nieprawidłowe działanie aplikacji, jeśli nowa wersja jest niezgodna z Twoim kodem.
Wersje środowiska wykonawczego w końcu osiągają koniec cyklu życia. Aby uniknąć zmian powodujących niezgodność, ważne jest, aby aktualizować środowiska wykonawcze:
- Wycofane środowiska wykonawcze: jeśli wybrane środowisko wykonawcze zostanie wycofane, aplikacja będzie nadal działać. W konsoli pojawi się ostrzeżenie i jak najszybciej należy przejść na nowszą wersję. Więcej informacji znajdziesz w dokumentacji Cloud Run dotyczącej cyklu życia środowiska wykonawczego.
- Wycofane środowiska wykonawcze: wycofane środowiska wykonawcze nie są już obsługiwane. Nie będzie można tworzyć nowych kompilacji ani backendów przy użyciu wycofanej wersji, a próba wykonania tej czynności spowoduje błąd kompilacji. Istniejące wdrożenia działające w wycofanych wersjach mogą przestać działać, a Cloud Run zastrzega sobie prawo do ich usunięcia.
Pełną listę obsługiwanych, wycofanych i wycofanych wersji Node znajdziesz w dokumentacji Cloud Run dotyczącej obsługi środowiska wykonawczego. Więcej informacji technicznych o tym, jak działają aktualizacje obrazu podstawowego, znajdziesz w dokumentacji Cloud Run dotyczącej ABIU.
Systemy zarządzania pakietami
App Hosting używa Cloud Native Buildpacks do instalowania zależności i kompilowania aplikacji za pomocą npm, yarn lub pnpm. Inne systemy zarządzania pakietami, takie jak JSR, nie są obsługiwane.
NPM
- NPM to domyślny system zarządzania pakietami.
- Zależności nieprodukcyjne są usuwane po pomyślnej kompilacji.
- Wersję npm możesz określić w sekcji
engines.npmw plikupackage.json.
Włóczka
- Jeśli w projekcie uwzględnisz plik
yarn.lock, zamiast npm będzie używana włóczka. - Wersję włóczki, która ma być używana, możesz określić w polu
engines.yarnlubpackageManagerw plikupackage.json. - App Hosting obsługuje tryb Yarn2 PnP.
Pnpm
- Jeśli w projekcie uwzględnisz plik
pnpm-lock.yaml, zamiast npm będzie używany pnpm. - Wersję pnpm możesz określić w polu
engines.pnpmlubpackageManagerw plikupackage.json. - Działający przykład znajdziesz w sample-node-pnpm. aplikacji.
Monorepo dla App Hosting
App Hosting obsługuje aplikacje oparte na Nx. Szczegółowe wskazówki znajdziesz w artykule Korzystanie z monorepo w App Hosting.
Obsługiwane są te wersje Nx:
| Wersja | Stan | Wycofanie |
|---|---|---|
| 19.5.x | roboty konserwacyjne | 2025-10-9 |
| 19.6.x | roboty konserwacyjne | 2025-10-9 |
| 19.7.x | roboty konserwacyjne | 2025-10-9 |
| 19.8.x | lts | 2026-10-9 |
| 20.0.x | aktywna | nie wcześniej niż 2025-10-9 |
| 20.1.x | aktywna | nie wcześniej niż 2025-10-9 |
| 20.2.x | aktywna | nie wcześniej niż 2025-10-9 |
| 20.3.x | aktywna | nie wcześniej niż 2025-10-9 |
| 20.4.x | aktywna | nie wcześniej niż 2025-10-9 |
| 20.5.x | aktywna | nie wcześniej niż 2025-10-9 |
| 20.6.x | aktywna | nie wcześniej niż 2025-10-9 |
| 20.7.x | aktywna | – |
Jeśli potrzebujesz pomocy w przypadku innych typów obszarów roboczych monorepo, daj nam znać w Firebase UserVoice.