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 :
ubuntu : initialisation de l'espace de travail.
preparer : collecte le code source et la configuration de votre application.
pre-buildpack: prépare l'environnement du buildpack.
build : installe les dépendances et compile votre application.
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 :

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 :
- 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.
- Monorepo Buildpack : configure les buildpacks suivants pour gérer différents scénarios de monorepo.
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.
Package Manager Buildpack : exécute l'installation des dépendances et compile l'application à l'aide de npm, yarn ou pnpm.
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.
- Le code du buildpack se trouve dans le dépôt des buildpacks Google Cloud.
- Le code des adaptateurs de framework se trouve dans le dépôt firebase-framework-tools.
- En savoir plus sur les buildpacks cloud natifs et Cloud Build