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 określa platformę, której używasz, 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ę. Możesz utworzyć package-lock.json
, uruchamiając 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 skompilować kompilację z kompilacją niestandardową
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 Hosting 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.
Dodatkowo App Hosting integruje się z interfejsem API sprawdzania GitHub, 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 środowiska kompilacji i środowisko wykonawcze, dzięki czemu możesz zainicjowanie pakietu Firebase Admin SDK 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 po pierwszym włączeniu usługi 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 wykonując operacje takie jak wczytywanie danych z: Cloud Firestore. Zobacz Role App Hosting w Firebase.
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, które 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
Podgląd wersji App Hosting ma pewne znane ograniczenia:
- Usuwanie backendów nie działa.
- 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 App Hosting będzie mieć możliwość szybkiego czyszczenia pamięci podręcznej ten limit zostanie zniesiony.
- Nagłówki Set-Cookie są usuwane z odpowiedzi wyświetlanych przez Planeta danych App Hosting. Poprawka zostanie udostępniona w kolejnej wersji.
- Niebuforowane pliki statyczne są udostępniane z Cloud Run; w w późniejszej wersji, będą 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 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.