Proces kompilacji w usłudze App Hosting

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:

  1. Przetwarzanie: gromadzenie kodu źródłowego i konfiguracji aplikacji.

  2. Kompilacja: instaluje zależności i kompiluje aplikację.

  3. 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

Zrzut ekranu z widokiem konsoli Google Cloud z krokami 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:

  1. Buildpack środowiska wykonawczego: zapewnia, że wszystkie niezbędne komponenty do uruchamiania podstawowej aplikacji Node.js są uwzględnione, a zależności są zainstalowane.
  2. Buildpack Monorepo: konfiguruje kolejne pakiety kompilacji do obsługi różnych scenariuszy monorepo.
  3. 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.

  4. Buildpack menedżera pakietów: wykonuje instalację zależności i kompiluje aplikację za pomocą npm, yarn lub pnpm.

  5. 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.