Firebase App Hosting została zaprojektowana specjalnie z myślą o tworzeniu nowoczesnych aplikacji internetowych opartych na platformach. Na tej stronie znajdziesz informacje o narzędziach i platformach, które App Hosting bezpośrednio obsługuje, a także 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 wkładowi w oprogramowanie open source zgodnemu ze specyfikacją pakietu wyjściowego. W obu przypadkach komponent adaptera platformy umożliwia integrację konkretnej platformy z App Hosting.
Platformy ze wstępnie skonfigurowaną obsługą kompilacji i wdrażania
Dzięki wstępnie skonfigurowanej obsłudze kompilacji i wdrażania Firebase identyfikuje używaną platformę, sprawdzając plik package-lock.json lub inny plik blokady, i optymalizuje procesy kompilacji i wdrażania aplikacji. Google dba o utrzymanie obsługi tych platform, a zespół pomocy Firebase może przyjmować zgłoszenia problemów i prośby o dodanie funkcji.
Ten poziom pomocy jest dostępny w przypadku:
- Next.js
- Angular
Szczegółowe informacje o konkretnych wersjach i poziomach pomocy znajdziesz w harmonogramach pomocy.
Jeśli spróbujesz wdrożyć aplikację Node.js, która nie ma pliku blokady, App Hosting nie będzie w stanie jej utworzyć i uruchomić. Możesz utworzyć plik package-lock.json, 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ż dowolną platformę internetową, która może dostarczyć dane wyjściowe kompilacji zgodne z naszą 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 popularny framework Nuxt jest obsługiwany przez zespół Nitro, który stworzył adapter Firebase umożliwiający wdrażanie aplikacji Nuxt w App Hosting.
Jeśli chcesz, aby App Hosting obsługiwał dodatkowe platformy, możesz utworzyć adapter platformy lub skontaktować się z osobami, które ją utrzymują, aby przekonwertować dane wyjściowe kompilacji na format App Hosting. Adaptery Next.js i Angular są dobrymi przykładami dla każdego, kto tworzy adapter.
Informacje o platformach obsługiwanych przez społeczność znajdziesz na stronie Firebase Open Source. Problemy i prośby o dodanie funkcji dotyczące platform obsługiwanych przez społeczność należy kierować do społeczności open source lub autorów platformy. W niektórych przypadkach Google może pomóc, ale społeczność jest pierwszą linią wsparcia dla tych adapterów.
Adaptery platformy App Hosting
W App Hosting obsługa zarówno wstępnie skonfigurowanych, jak i obsługiwanych przez społeczność platform jest zapewniana przez adaptery platform. Adaptery platformy App Hosting mają 2 główne role:
- Analizują one kod źródłowy i wszystkie pliki konfiguracji specyficzne dla platformy (takie jak
next.config.js) i generują pakiet wyjściowy, który może być przetwarzany przez pozostałą część infrastruktury App Hosting. - Uruchamiają polecenie kompilacji aplikacji, aby wygenerować zasoby statyczne i utworzyć zoptymalizowaną wersję aplikacji do środowiska produkcyjnego.
Adaptery platformy kompilują aplikację Node.js za pomocą npm run build, co najlepiej sprawdza się w przypadku domyślnych skryptów kompilacji dla każdej platformy: next build dla Next.js i ng build dla Angular. App Hosting spróbuje wykonać kompilacje za pomocą niestandardowych poleceń kompilacji, ale nie może zagwarantować, że się to uda. Możesz zastąpić skrypty kompilacji i uruchamiania w pliku apphosting.yaml.
Kod źródłowy adapterów Next.js i Angular jest dostępny w repozytorium apphosting-adapters.
Środowiska wykonawcze dla: App Hosting
Po utworzeniu 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 zakresie obsługiwanym przez Cloud Run, jak 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 platformy i Node.js:
- Next.js w wersji 13.5.x lub nowszej,
- Angular 18.2.x lub nowszy,
- Node.js 22 lub nowszy
App Hosting nie zapewnia automatycznie aktywnej pomocy w przypadku nowo wydanych wersji platformy. Wersje nowsze niż obecnie oznaczona jako „aktywna” będą uznawane za „wersje testowe”, dopóki nie zostaną oficjalnie oznaczone jako „aktywne” w App Hosting.
App Hosting zapewnia wsparcie długoterminowe (LTS) dla najnowszej wersji podrzędnej wersji głównej przez rok od okresu aktywnego wsparcia, pod warunkiem, że stale aktualizujesz wersję podrzędną do najnowszych wersji poprawek. Szczegółowe informacje o Next.js i Angular znajdziesz w tabelach poniżej.
Harmonogram pomocy dotyczącej Next.js
| Wersja | Stan | Wycofanie |
|---|---|---|
| 13.5.x | lts | 2026-10-9 |
| 14.2.x | lts | 2026-10-9 |
| 15.0.x | lts | 2027-10-9 |
| 15.1.x | lts | 2027-10-9 |
| 15.2.x | aktywna | nie wcześniej niż 9 października 2026 r. |
Harmonogram pomocy dotyczącej Angulara
| Wersja | Stan | Wycofanie |
|---|---|---|
| 18.2.x | lts | 2026-10-9 |
| 19.0.x | lts | 2027-10-9 |
| 19.1.x | lts | 2027-10-9 |
| 19.2.x | aktywna | - |
Automatyczne aktualizacje obrazu podstawowego
Automatyczne aktualizacje obrazu podstawowego (ABIU) to funkcja, która automatycznie stosuje poprawki zabezpieczeń w bazowym środowisku wykonawczym bez konieczności uruchamiania nowego wdrożenia aplikacji.
App Hosting domyślnie włącza ABIU w przypadku nowych backendów, które spełniają te wymagania:
- Środowiska wykonawcze z wersjami: aby używać ABIU, musisz określić środowisko wykonawcze z wersją (np.
nodejs22lubnodejs24). App Hosting obsługuje parzyste wersje Node.js, odzwierciedlając obsługę Cloud Run. - Dopasowanie package.json: wersja Node wybrana dla App Hosting musi być zgodna z wersją określoną w polu
enginesplikupackage.json. Jeśli wystąpi niezgodność, Cloud Build wyświetli błąd czasu kompilacji. 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 wprowadzania lub wybierając „Nie określono” dla środowiska wykonawczego w konsoli Firebase. Jeśli używana jest domyślna wersja nodejs bez numeru, ABIU jest automatycznie wyłączone.
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. Pamiętaj jednak, że zmiana wersji środowiska wykonawczego może spowodować uszkodzenie aplikacji, jeśli nowa wersja jest niezgodna z Twoim kodem.
Wersje środowiska wykonawczego w końcu osiągają koniec cyklu życia pomocy. Ważne jest, aby aktualizować środowiska wykonawcze, aby uniknąć zmian powodujących niezgodność:
- Wycofane środowiska wykonawcze: jeśli wybrane środowisko wykonawcze zostanie wycofane, aplikacja będzie nadal działać. W konsoli pojawi się ostrzeżenie i należy jak najszybciej przejść na nowszą wersję. Więcej informacji znajdziesz w dokumentacji Cloud Run dotyczącej cyklu życia środowiska wykonawczego.
- Wycofane środowiska wykonawcze: wycofane środowiska wykonawcze są całkowicie nieobsługiwane. Nie będziesz mieć możliwości tworzenia nowych kompilacji ani backendów przy użyciu wycofanej wersji. 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 wyłączonych wersji Node znajdziesz w dokumentacji obsługi środowiska wykonawczego Cloud Run. Więcej szczegółów technicznych na temat działania aktualizacji obrazu podstawowego znajdziesz w dokumentacji Cloud Run ABIU.
Menedżery pakietów
App Hosting używa Cloud Native Buildpacks do instalowania zależności i kompilowania aplikacji za pomocą npm, yarn lub pnpm. Inne menedżery pakietów, takie jak JSR, nie są obsługiwane.
NPM
- NPM jest domyślnym menedżerem pakietów.
- Zależności nieprodukcyjne są usuwane po pomyślnym zakończeniu kompilacji.
- Sekcję wersji npm możesz określić za pomocą pola
engines.npmw plikupackage.json.
Włóczka
- Jeśli w projekcie uwzględnisz plik
yarn.lock, używany jest Yarn. - Wersję yarn, której chcesz używać, 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, używany jest pnpm. - Wersję pnpm możesz określić w polu
engines.pnpmlubpackageManagerw plikupackage.json. - Działający przykład znajdziesz w aplikacji sample-node-pnpm.
Monorepozytoria dla: App Hosting
App Hosting obsługuje aplikacje monorepo Nx i Turborepo. Szczegółowe wskazówki znajdziesz w artykule Używanie monorepozytoriów z App Hosting.
Obsługiwane są te wersje Nx:
| Wersja | Stan | Wycofanie |
|---|---|---|
| 20.8.x | lts | nie wcześniej niż 9 października 2027 r. |
Jeśli potrzebujesz pomocy dotyczącej innych typów obszarów roboczych monorepozytorium, daj nam znać na Firebase UserVoice.