Firebase App Hosting została zaprojektowana specjalnie pod kątem obsługi nowoczesnego tworzenia aplikacji internetowych z wykorzystaniem platform. 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 Angulara 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 Angulara to dobre przykłady dla osób tworzących adapter.
Informacje o platformach obsługiwanych przez społeczność znajdziesz w 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 społeczność jest pierwszym źródłem pomocy w przypadku tych adapterów.
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 Angulara. App Hosting będzie próbować kompilacji za pomocą niestandardowych poleceń kompilacji, ale nie może zagwarantować, że się uda. Skrypty kompilacji i uruchamiania możesz
zastąpić
w apphosting.yaml.
Kod źródłowy adapterów Next.js i Angulara jest dostępny w firebase-framework-tools.
Środowiska wykonawcze w 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 Angulara 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' wersja będą uznawane za 'testowe' do momentu, aż zostaną oficjalnie oznaczone jako 'aktywne' dla App Hosting.
App Hosting obsługuje długoterminowe wsparcie (LTS) dla najnowszej wersji podrzędnej wersji głównej przez rok od zakończenia okresu aktywnego wsparcia, pod warunkiem że regularnie aktualizujesz wersję podrzędną do najnowszych wersji poprawek. Szczegółowe informacje o Next.js i Angularze 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 Angulara
| 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
Automatyczne aktualizacje obrazu podstawowego to funkcja, która automatycznie stosuje poprawki zabezpieczeń w środowisku wykonawczym bez konieczności uruchamiania nowego wdrożenia aplikacji.
App Hosting domyślnie włącza automatyczne aktualizacje obrazu podstawowego w przypadku nowych backendów, ale obowiązują te wymagania:
- Środowiska wykonawcze z wersjami: aby korzystać z automatycznych aktualizacji obrazu podstawowego, musisz określić środowisko wykonawcze z wersją
(np.
nodejs20,nodejs22,nodejs24). App Hosting obsługuje wersje Node.js z parzystymi numerami, podobnie jak Cloud Run's support. - 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 automatycznych aktualizacji obrazu podstawowego
Jeśli chcesz zrezygnować z automatycznych aktualizacji obrazu podstawowego, możesz je wyłączyć podczas wdrażania lub przez
wybranie „Nie określono” w przypadku środowiska wykonawczego w konsoli Firebase. Gdy używana jest domyślna wersja nodejs bez numeru, automatyczne aktualizacje obrazu podstawowego są automatycznie wyłączane.
Zarządzanie wersjami środowiska wykonawczego
Wersję środowiska wykonawczego backendu i preferencje dotyczące automatycznych aktualizacji obrazu podstawowego 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ć awarię 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 Cloud Run dokumentacji dotyczącej automatycznych aktualizacji obrazu podstawowego.
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órej chcesz użyć, 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 Używanie 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.