Firebase App Hosting używa Cloud Build do przekształcania kodu źródłowego aplikacji w format kontenera odpowiedni do wdrożenia w Cloud Run.
Proces kompilacji składa się z tych kluczowych etapów:
Przetwarzanie: gromadzenie kodu źródłowego i konfiguracji aplikacji.
Kompilacja: instaluje zależności i kompiluje aplikację.
Przesłanie: kończy proces tworzenia kontenera produkcyjnego Cloud Run.
Te 3 kroki odpowiadają bezpośrednio krokom kompilacji 1, 2 i 3 wyświetlanym w konsoli Google Cloud:Cloud Build
Etap przetwarzania
Ten etap odpowiada za obsługę logiki przed budową. Czyta, oczyszcza i zapisuje zmienne środowiskowe zdefiniowane przez użytkownika. Odwołuje się też do wszystkich tajemnic określonych w pliku apphosting.yaml
i zapisuje je.
Etap kompilacji
Jest to podstawa procesu kompilacji, która odpowiada za wygenerowanie obrazu kontenera do uruchomienia oraz pliku bundle.yaml
definiującego konfigurację kompilacji.
Używa pakietów kompilacji natywnych dla Cloud do efektywnego pakowania aplikacji. Więcej informacji o pliku bundle.yaml
znajdziesz na GitHub.
Pakiety kompilacji służą do przekształcania kodu źródłowego aplikacji w obrazy kontenera gotowe do wdrożenia. Firebase App Hosting łączy ze sobą kilka pakietów kompilacji, aby ukończyć proces kompilacji:
- Buildpack środowiska wykonawczego: zapewnia, że wszystkie niezbędne komponenty do uruchamiania podstawowej aplikacji Node.js są uwzględnione, a zależności są zainstalowane.
- Buildpack Monorepo: konfiguruje kolejne pakiety kompilacji do obsługi różnych scenariuszy monorepo.
Buildpack platformy: instaluje odpowiedni adapter platformy (np. Angular lub Next.js) i przygotowuje kolejne pakiety buildpack.
Adaptery frameworków odpowiadają za wykonywanie polecenia kompilacji w wersji produkcyjnej oraz mapowanie odpowiednich wartości konfiguracji frameworka na format standardowy, który można odczytać za pomocą App Hosting.
Buildpack menedżera pakietów: wykonuje instalację zależności i kompiluje aplikację za pomocą npm, yarn lub pnpm.
Buildpack pakietu danych wyjściowych: definiuje polecenie wykonywania i przygotowuje pakiet danych wyjściowych do wykonania.
Etap przekazywania
Na tym ostatnim etapie wszystkie informacje wyodrębnione z kodu źródłowego aplikacji oraz obraz kontenera kompilacji są pakowane i przesyłane do backendu App Hosting. Następnie backend usługi App Hosting używa tych informacji do konfigurowania usługi Cloud Run z odpowiednimi ustawieniami.
Więcej informacji
Cały proces kompilacji App Hosting jest typu open source.
- Kod pakietu kompilacji znajduje się w repozytorium pakietów kompilacji Google Cloud.
- Kod adapterów frameworków znajduje się w repozytorium firebase-framework-tools
- Dowiedz się więcej o pakietach kompilacji typu Cloud Native i Cloud Build.