Platformy i narzędzia do hostingu aplikacji

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 engines w pliku package.json. Jeśli wystąpi niezgodność, podczas kompilacji pojawi się błąd z Cloud Build. Za każdym razem, gdy zmieniasz pole engines, 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.npm w pliku package.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.yarn lub packageManager w pliku package.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.pnpm lub packageManager w pliku package.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.