App Hosting wykonuje złożoną serię zadań w tle, aby uprościć wdrażanie aplikacji. Na tej stronie opisujemy kluczowe części tego przepływu zadań, podając informacje o miejscach, w których możesz dostosować przepływ do potrzeb aplikacji.
Kluczowe terminy i definicje
Aby zrozumieć szczegóły przepływu App Hosting, warto dokładnie zdefiniować niektóre terminy. Oto podstawowe terminy:
- Backend: zbiór zarządzanych zasobów, które App Hosting tworzy na potrzeby budowania i uruchamiania aplikacji internetowej.
- Kompilacja: konkretna wersja aplikacji, zwykle powiązana z zatwierdzeniem w systemie git. Proces tworzenia kompilacji obejmuje wiele podprocesów, w tym kompilowanie aplikacji w Cloud Build i wdrażanie wersji (początkowo obsługującej 0% ruchu, dopóki nie zostanie wdrożona) w Cloud Run.
- Wdrożenie: proces ustawiania kompilacji jako aktywnie obsługującej ruch. Gdy funkcja App Hosting zostanie automatycznie uruchomiona przez zatwierdzenie w Git, najpierw utworzy kompilację przy użyciu gałęzi na żywo, a potem wdroży ją, aby przekierować do niej ruch na żywo.
- Gałąź aktywna: gałąź repozytorium GitHub, która jest wdrażana pod aktywnym adresem URL. Często jest to gałąź, do której są scalane gałęzie funkcji lub gałęzie deweloperskie.
Architektura Google Cloud i App Hosting
App Hosting koordynuje działanie zestawu usług Google Cloud, dzięki czemu możesz wdrażać, udostępniać i monitorować aplikację internetową. Aplikacje są tworzone za pomocą Cloud Build, udostępniane w Cloud Run i buforowane w Cloud CDN. Zintegrowane usługi, takie jak Cloud Secret Manager, zapewniają bezpieczeństwo kluczy interfejsu API.

- Gdy zatwierdzenie zostanie przesłane do gałęzi na żywo, Google Cloud Developer Connect wyśle zdarzenie do Firebase App Hosting.
- W odpowiedzi na to zdarzenie usługa Firebase App Hosting tworzy nową kompilację dla backendu połączonego z repozytorium.
- Najpierw Firebase App Hosting tworzy nową kompilację Cloud Build dla Twojego zatwierdzenia. W tym zadaniu pakiety kompilacyjne Google Cloud określają, którego frameworka używa Twoja aplikacja, aby utworzyć kontener i konfigurację (w tym zmienne środowiskowe, wpisy tajne, minimalną lub maksymalną liczbę instancji, pamięć współbieżną, procesor i konfigurację VPC) odpowiednie dla Twojej aplikacji. Więcej informacji znajdziesz w artykule o App Hostingprocesie tworzenia.
- Po zakończeniu zadania Cloud Build kontener jest przechowywany w repozytorium Artifact Registry przeznaczonym dla Firebase App Hosting. Firebase App Hosting następnie dodaje nową Cloud Run wersję do usługi Cloud Run, korzystając z Twojego obrazu i konfiguracji.
- Gdy Cloud Run Revision zostanie ukończona i zweryfikowana jako prawidłowa, Firebase App Hosting zmodyfikuje konfigurację ruchu, aby wszystkie nowe żądania kierować do nowej wersji Cloud Run Revision. W tym momencie proces wdrażania jest zakończony.
- Gdy żądanie jest wysyłane do witryny hostowanej w Firebase App Hosting, jest ono obsługiwane przez system równoważenia obciążenia Google Cloud z włączoną usługą Cloud CDN. Żądania niepochodzące z pamięci podręcznej są wysyłane do usługi Cloud Run. Więcej informacji o optymalizowaniu wydajności za pomocą Cloud CDN znajdziesz w artykule Przechowywanie w pamięci podręcznej treści aplikacji.
Integracja platformy
App Hosting zapewnia wstępnie skonfigurowaną obsługę kompilacji i wdrażania aplikacji internetowych opracowanych w tych frameworkach:
- Next.js w wersji 13.5.x lub nowszej
- Angular w wersji 18.2.x lub nowszej
Szczegółowe informacje o konkretnych wersjach i poziomach pomocy znajdziesz w harmonogramach pomocy.
Oprócz Next.js i Angulara App Hosting obsługuje też wszystkie platformy internetowe, które mogą generować dane wyjściowe zgodne z naszą specyfikacją pakietu wyjściowego. Więcej informacji o platformach, adapterach platform i powiązanych narzędziach obsługiwanych przez App Hosting znajdziesz w sekcji Platformy i narzędzia dla App Hosting.
Jak działa integracja z repozytorium App Hosting
Ważne połączenie między repozytorium GitHub a backendem App Hosting jest obsługiwane przez Developer Connect, platformę łączności Google Cloud dla zewnętrznych narzędzi DevOps. Podczas tworzenia App Hosting backendu interfejs Developer Connect przeprowadzi Cię przez proces instalacji aplikacji Firebase na GitHubie. Najważniejsze kroki tego procesu to:
- Przyznajesz usłudze Developer Connect rolę Administrator usługi Secret Manager. Dzięki temu system może bezpiecznie przechowywać dane logowania jako „obiekty tajne” w usłudze Cloud Secret Manager.
- Autoryzujesz aplikację Firebase GitHub, aby uzyskać dostęp do repozytorium GitHub. Aby uzyskać dostęp do odpowiedniego repozytorium, może być konieczne przyznanie dodatkowych uprawnień w GitHubie.
- Developer Connect przechowuje dedykowany token autoryzacji GitHub w repozytorium usługi Secret Manager w Twoim projekcie. Nie modyfikuj ani nie usuwaj tego tokena.
Dodatkowo App Hosting integruje się z interfejsem GitHub Checks API, aby zapewnić sprawdzanie wdrożeń. Ten test umożliwia sprawdzenie stanu wdrożenia w GitHubie i debugowanie procesu wdrażania w przypadku wystąpienia błędów.
Integracja z Firebase i innymi usługami Google
App Hosting konfiguruje środowiska kompilacji i środowiska wykonawcze, dzięki czemu możesz zainicjować pakiet SDK Firebase Admin za pomocą domyślnych danych logowania aplikacji Google. Dzięki temu backend może komunikować się z innymi usługami Firebase zarówno w czasie kompilacji, jak i wykonywania. Więcej informacji o inicjowaniu aplikacji i innych tematach związanych z pakietem SDK Firebase znajdziesz w artykule Integracja pakietów SDK Firebase z aplikacją internetową.
App Hosting lokalizacji
App Hosting tworzy zasoby backendu w określonej lokalizacji, zwanej regionem podstawowym. Usługa App Hosting jest zintegrowana z globalną siecią CDN, która zapewnia szybkie dostarczanie treści, ale niebuforowane treści są dostarczane z głównego regionu aplikacji. Ta elastyczność w zakresie lokalizacji aplikacji internetowej ma kluczowe zalety:
- Zwiększona wydajność i mniejsze opóźnienia dzięki przeniesieniu danych bliżej użytkowników.
- Katastrofalna awaria App Hosting w jednym regionie nie wpłynie na aplikacje internetowe wdrożone w innych regionach.
Podczas tworzenia App HostingbackenduFirebase w konsoli lub interfejsie wiersza poleceń możesz wybrać dowolny z tych regionów:
us-central1
(Iowa)asia-east1
(Tajwan)europe-west4
(Holandia)
App Hosting konto usługi backendu
Podczas kompilacji i wykonywania kodu backend App Hosting uwierzytelnia się w innych usługach Google za pomocą konta usługi. Domyślne konto usługi do tych celów jest tworzone podczas pierwszego włączenia App Hosting w projekcie Firebase:
firebase-app-hosting-compute@PROJECT ID.iam.gserviceaccount.com
To konto usługi jest domyślnie stosowane do wszystkich backendów i ma minimalny zestaw uprawnień, które umożliwiają tworzenie, uruchamianie i monitorowanie aplikacji. Ma też uprawnienia do uwierzytelniania pakietu Admin SDK za pomocą domyślnych danych logowania aplikacji, co pozwala wykonywać operacje takie jak wczytywanie danych z Cloud Firestore. Zobacz role w Firebase.App Hosting
Jeśli Twoja aplikacja musi wchodzić w interakcje z dodatkowymi usługami Google podczas kompilacji lub z działającego backendu, możesz dostosować domyślne konto usługi, dodając role. Jeśli na przykład Twoja aplikacja wymaga uprawnień do Vertex AI, może być konieczne dodanie roli roles/aiplatform.user
lub podobnej.