Firebase App Hosting został zaprojektowany specjalnie z myślą o tworzeniu nowoczesnych aplikacji internetowych opartych na frameworkach. Na tej stronie znajdziesz informacje o narzędziach i platformach, które są bezpośrednio obsługiwane przez App Hosting, a także linki do materiałów na temat powiązanych platform i narzędzi.
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 za pomocą wkładu w projekty open source zgodne ze specyfikacją pakietu wyjściowego. W obu przypadkach komponent adaptera platformy umożliwia integrację konkretnej platformy z App Hosting.
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órego frameworka używasz, sprawdzając plik package-lock.json lub inny plik blokady, i optymalizuje procesy kompilacji i wdrażania aplikacji. Google dokłada wszelkich starań, aby utrzymać obsługę tych frameworków, 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, w której brakuje pliku blokady, App Hostingnie będzie w stanie jej utworzyć 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ż dowolną platformę internetową, która może generować dane wyjściowe zgodne z naszą specyfikacją pakietu wyjściowego. Autorzy platform mogą korzystać ze specyfikacji pakietu wyjściowego, aby mieć pewność, że ich platforma jest obsługiwana przez App Hosting. Na przykład popularny framework Nuxt jest obsługiwany przez zespół Nitro, który stworzył adapter Firebase, aby umożliwić wdrażanie aplikacji Nuxt na App Hosting.
Jeśli chcesz, aby App Hosting obsługiwał dodatkowe platformy, możesz utworzyć adapter platformy lub skontaktować się z osobami odpowiedzialnymi za utrzymanie platformy, aby przekonwertować dane wyjściowe kompilacji do formatu App Hosting. Adaptery Next.js i Angular to dobre przykłady referencyjne 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 kierować do społeczności open source lub autorów platformy. W niektórych przypadkach Google może pomóc, ale w przypadku tych adapterów pierwszą linią wsparcia jest społeczność.
App Hosting adaptery platformy,
W App Hosting obsługę wstępnie skonfigurowanych i wspieranych przez społeczność platform zapewnia się za pomocą adapterów platform. App Hosting adaptery platformy mają 2 kluczowe role:
- Analizują one kod źródłowy i wszelkie pliki konfiguracyjne specyficzne dla platformy (np.
next.config.js) oraz generują pakiet wyjściowy, który może być przetwarzany przez pozostałą część infrastruktury App Hosting. - Uruchamiają polecenie kompilacji aplikacji, aby wygenerować statyczne komponenty i utworzyć zoptymalizowaną wersję aplikacji do wdrożenia produkcyjnego.
Adaptery platformy kompilują aplikację Node.js za pomocą npm run build i 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 podejmie próbę utworzenia kompilacji za pomocą niestandardowych poleceń kompilacji, ale nie może zagwarantować, że się to uda. Możesz zastąpić skrypty kompilacji i uruchamiania w 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. Wersja środowiska wykonawczego aplikacji powinna mieścić się w zakresie obsługiwanym przez Cloud Run 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 w wersji 18.2.x lub nowszej
- Node.js w wersji 22 lub nowszej
App Hosting nie zapewnia automatycznie aktywnego wsparcia w przypadku nowo wydanych wersji platform. Wersje nowsze niż obecnie oznaczona jako „aktywna” będą miały stan „wersja testowa”, dopóki nie zostaną oficjalnie oznaczone jako „aktywne” w przypadku App Hosting.
App Hosting zapewnia wsparcie długoterminowe (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 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ż 2026-10-9 |
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 przez Ciebie nowego wdrożenia aplikacji.
App Hosting domyślnie włącza ABIU w przypadku nowych backendów, przy czym obowiązują te wymagania:
- Wersje środowiska wykonawczego: aby używać ABIU, musisz określić wersję środowiska wykonawczego (np.
nodejs22lubnodejs24). App Hosting obsługuje parzyste wersje Node.js, co odzwierciedla obsługę Cloud Run. - Dopasowanie pliku package.json: wybrana wersja Node dla App Hosting musi być zgodna z wersją określoną w polu
enginesplikupackage.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 wprowadzania lub wybierając „Nie określono” w przypadku czasu działania w konsoli Firebase. Gdy używana jest domyślna wersja bez numeru nodejs, ABIU jest automatycznie wyłączone.
Zarządzanie wersjami środowiska wykonawczego
Wersję środowiska wykonawczego i preferencje ABIU backendu możesz w dowolnym momencie wyświetlić i zmienić na karcie Ustawienia w panelu App Hosting. 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 błędy, musisz aktualizować środowiska wykonawcze:
- Wycofane środowiska wykonawcze: jeśli wybrane środowisko wykonawcze zostanie wycofane, aplikacja będzie zwykle nadal działać. W konsoli pojawi się ostrzeżenie. Jak najszybciej przejdź na nowszą wersję. Więcej informacji znajdziesz w Cloud Rundokumentacji 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 zgłoszenie błędu 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 Cloud Rundokumentacji dotyczącej obsługi środowiska wykonawczego. Więcej szczegółów technicznych na temat działania aktualizacji obrazu bazowego znajdziesz w Cloud Rundokumentacji ABIU.
Menedżerowie pakietów
App Hosting używa Cloud Native Buildpacks do wykonywania instalacji 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 to domyślny menedżer pakietów.
- Zależności inne niż produkcyjne 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, zamiast niego będzie używany Yarn. - Wersję przędzy 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 niego będzie używany 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 Korzystanie z monorepo w App Hosting.
Obsługiwane są te wersje Nx:
| Wersja | Stan | Wycofanie |
|---|---|---|
| 20.8.x | lts | nie wcześniej niż 2027-10-9 |
Jeśli potrzebujesz obsługi innych typów obszarów roboczych monorepo, daj nam znać na stronie Firebase UserVoice.