Dowiedz się, jak działa App Hosting i jak działa.

App Hosting wykonuje złożone zadania w tle, aby uprościć wdrażanie aplikacji. Na tej stronie opisujemy najważniejsze etapy tego procesu, podanie informacji o punktach, w których warto dostosować proces w zależności od potrzeb aplikacji.

Obsługa platformy

App Hosting zapewnia niewymagającą konfiguracji obsługę kompilacji i wdrażania aplikacji internetowych. które zostały opracowane w następujący sposób:

  • Next.js w wersji 13 lub nowszej
  • Angular 17.2 lub nowszy

App Hosting identyfikuje używaną platformę, sprawdzając package-lock.json lub inny plik blokady w repozytorium. Jeśli spróbujesz wdroży aplikację Node.js, w której brakuje pliku blokady, App Hosting nie będzie w stanie tego zrobić. aby stworzyć i uruchomić aplikację. Aby utworzyć package-lock.json, uruchom polecenie npm install w katalogu głównym.

Adaptery platformy App Hosting mają 2 kluczowe role:

  1. Analizują one kod źródłowy i wszystkie pliki konfiguracyjne związane z konfiguracją platformy (np. next.config.js), aby poznać skonfigurowane działanie aplikacji.
  2. Uruchamiają polecenie kompilacji aplikacji, aby wygenerować zasoby statyczne i utworzyć zoptymalizowana pod kątem produkcji.

Adaptery platformy służą do tworzenia aplikacji Node.js na platformie npm run build, która najlepiej działa z domyślnymi skryptami kompilacji dla każdej platformy: next build w przypadku Next.js oraz ng build w Angular. App Hosting spróbuje utworzyć kompilację z niestandardową kompilacją poleceń, ale nie gwarantuje powodzenia.

Jak działa integracja repozytorium App Hosting

Ważne połączenie między repozytorium GitHub a App Hosting backend jest obsługiwany przez Developer Connect, Platforma łączności Google Cloud na potrzeby zewnętrznych narzędzi DevOps. Podczas tworzenia backendu App Hostingu Przepływ pracy w interfejsie Developer Connect przeprowadzi Cię przez proces instalacji aplikacji Firebase na GitHubie. Najważniejsze kroki tego procesu:

  1. Przyznajesz Developer Connect Administrator usługi Secret Manager rolę użytkownika. Dzięki temu system może bezpiecznie przechowywać dane logowania jako „obiekty tajne” cale Cloud Secret Manager:
  2. Autoryzujesz aplikację Firebase GitHub do dostępu do swojego GitHuba .
  3. Developer Connect przechowuje specjalny token autoryzacji GitHuba w Twoim repozytorium menedżera obiektów tajnych projektu; Nie modyfikuj ani nie usuwaj tego tokena.

Ponadto App Hosting integruje się z interfejsem GitHub Check API, aby zapewnić sprawdzić wdrożenia. Dzięki temu możesz sprawdzić stan wdrożenia w GitHub i debuguj proces wdrażania w przypadku wystąpienia błędów.

Integracja z Firebase i innymi usługami Google

App Hosting konfiguruje zarówno środowisko kompilacji, jak i środowiska wykonawczego, dzięki czemu możesz zainicjuj pakiet SDK Firebase Admin w Google. Domyślne dane logowania aplikacji. Dzięki temu backend może się komunikować z innymi usługami Firebase zarówno podczas tworzenia, jak i wdrażania.

Konto usługi backendu App Hosting

Podczas kompilacji i w czasie działania backend App Hosting uwierzytelnia się za pomocą z innymi usługami Google na koncie usługi. Domyślne konto usługi dla organizacji te cele są tworzone, gdy po raz pierwszy włączysz App Hosting w Projekt Firebase:

firebase-app-hosting-compute@PROJECT ID.iam.gserviceaccount.com

To konto usługi domyślnie stosuje się do wszystkich backendów i ma minimalny zestaw uprawnień do tworzenia, uruchamiania i monitorowania aplikacji. Oferuje również uprawnienia do uwierzytelnić pakiet Admin SDK za pomocą domyślnych danych logowania aplikacji, na przykład wykonywania operacji takich jak wczytywanie danych z Cloud Firestore. Zobacz Role w Firebase App Hosting.

Jeśli aplikacja musi wejść w interakcję z usługami dodatkowymi Google podczas tworzenia lub z działającego backendu możesz dostosować domyślne konto usługi, dodawania ról. Jeśli na przykład aplikacja wymaga uprawnień do Vertex AI, konieczne może być dodanie roles/aiplatform.user lub inne powiązane stanowiska.

Najważniejsze terminy i ich definicje

  • Backend: zbiór zarządzanych zasobów wykorzystywanych przez App Hosting. które pozwalają tworzyć i uruchamiać Twoją aplikację internetową.
  • Wdrożenie: konkretna wersja opublikowanej aplikacji powiązana z zatwierdzeniem Git.
  • Gałąź Live: gałąź repozytorium GitHub, które jest wdrażane w adresu URL transmisji. Często jest to gałąź, w której występują gałęzie lub gałęzie programowania są scalane.

Znane problemy i ograniczenia

Wersja testowa App Hosting ma kilka znanych ograniczeń:

  • Optymalizacja obrazów nie jest jeszcze dostępna.
  • W niektórych przypadkach backend App Hosting może zwrócić Intermittent connection error wiadomości pod adresem URL Twojej aplikacji. Poprawka będą dostępne w przyszłej wersji.
  • Nagłówki Cache-Control są modyfikowane, by ograniczyć pamięci podręczne CDN do 60 s. w gdy w App Hosting będzie mógł szybko wyczyścić pamięć podręczną ten limit zostanie zniesiony.
  • Nagłówki Set-Cookie są usuwane z odpowiedzi wyświetlanych przez Platforma danych App Hosting. Poprawka zostanie udostępniona w kolejnej wersji.
  • Niebuforowane pliki statyczne są udostępniane poza Cloud Run. w w późniejszym terminie, będą one przechowywane i udostępniane z punktu początkowego App Hosting , by uzyskać lepsze wyniki.
  • Kody SKU App Hosting mogą nie być wyświetlane na stronie wykorzystania backendu w konsoli Firebase. Będą one dostępne w kolejnej wersji.
  • Konsola Firebase może okresowo wyświetlać komunikat „Nie znaleziono kompilacji i jest nieprawidłowy” podczas tworzenia backendu.
  • Obecnie wszystkie backendy w tym samym projekcie korzystają z tej samej organizacji/konta GitHub. Można je połączyć z różnymi repozytoriami w tej organizacji lub tym koncie. Aby utworzyć backendy połączone z różnymi kontami GitHub, umieścić je w osobnych projektach.
  • Obecnie obsługiwany jest tylko region us-central1.