Processus de compilation d'App Hosting

Firebase App Hosting utilise Cloud Build pour transformer le code source de votre application dans un format conteneurisé adapté au déploiement sur Cloud Run.

Le processus de compilation comporte les étapes clés suivantes :

  1. ubuntu : initialisation de l'espace de travail.

  2. preparer : collecte le code source et la configuration de votre application.

  3. pre-buildpack: prépare l'environnement du buildpack.

  4. build : installe les dépendances et compile votre application.

  5. publisher : finalise le conteneur de production Cloud Run.

Ces cinq étapes correspondent directement aux étapes de compilation telles qu'elles sont affichées dans Cloud Build dans la Google Cloud console :

Capture d'écran d'une vue de la console Google Cloud affichant les étapes Cloud Build

Initialisation de l'espace de travail

Cette étape correspond à l'étape de compilation ubuntu. Elle initialise l'espace de travail de compilation, en s'assurant que les autorisations de fichier appropriées sont définies pour les répertoires utilisés par les étapes de compilation suivantes.

Preparer

Cette étape est chargée de gérer la logique de précompilation. Elle lit, nettoie et écrit les variables d'environnement définies par l'utilisateur. Elle déréférence et épingle également tous les secrets spécifiés dans le fichier apphosting.yaml.

Pre-buildpack

Cette étape prépare l'environnement pour le cycle de vie des buildpacks cloud natifs. Cela implique l'exécution d'un shim qui traduit les configurations et les variables d'environnement préparées à l'étape précédente au format attendu par les outils CNB.

Créer

Il s'agit du cœur du processus de compilation, chargé de générer une image de conteneur exécutable et un fichier bundle.yaml définissant votre configuration de compilation. Il utilise les buildpacks cloud natifs et le créateur de cycle de vie binaire pour empaqueter l' application de manière efficace. Vous trouverez plus d'informations sur le bundle.yaml fichier sur GitHub.

Les buildpacks sont chargés de transformer le code source de votre application en images de conteneur prêtes pour la production. Firebase App Hosting enchaîne plusieurs buildpacks pour terminer le processus de compilation :

  1. Runtime Buildpack : s'assure que tous les composants nécessaires à l'exécution d'une application Node.js de base sont inclus et que les dépendances sont installées.
  2. Monorepo Buildpack : configure les buildpacks suivants pour gérer différents scénarios de monorepo.
  3. Framework Buildpack : installe l'adaptateur de framework approprié (comme Angular ou Next.js) et prépare les buildpacks suivants.

    Les adaptateurs de framework sont chargés d'exécuter la commande de compilation de production et de mapper toutes les valeurs de configuration spécifiques au framework dans un format standard lisible par App Hosting.

  4. Package Manager Buildpack : exécute l'installation des dépendances et compile l'application à l'aide de npm, yarn ou pnpm.

  5. Output Bundle Buildpack : définit la commande d'exécution et prépare le bundle de sortie pour l'exécution.

Éditeur

Cette dernière étape regroupe toutes les informations extraites du code source de l'application , ainsi que l'image du conteneur de compilation, et les envoie au App Hosting backend. Le backend App Hosting utilise ensuite ces informations pour configurer Cloud Run avec les configurations appropriées.

En savoir plus

L'ensemble du processus de compilation App Hosting est Open Source.