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:
- 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. - 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:
- 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:
- Autoryzujesz aplikację Firebase GitHub do dostępu do swojego GitHuba .
- 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
. - Oprogramowanie pośredniczące, przepisywanie i przekierowania Next.js jest wykonywane w Cloud Run za CDN. Nie chronimy pamięci podręcznej odpowiedzi, pamiętaj o ustawieniu odpowiednie dyrektywy dotyczące kontroli w przypadku renderowanych treści.