El proceso de compilación de App Hosting

Firebase App Hosting usa Cloud Build para transformar el código fuente de tu aplicación en un formato de contenedor adecuado para la implementación en Cloud Run.

El proceso de compilación opera a través de las siguientes etapas clave:

  1. Transferencia: Recopila el código fuente y la configuración de tu aplicación.

  2. Build: Instala dependencias y compila tu aplicación.

  3. Transferencia: Finaliza el contenedor Cloud Run de producción.

Estos tres pasos corresponden directamente a los pasos de compilación 1, 2 y 3, como se muestra en Cloud Build en la consola de Google Cloud:

Captura de pantalla de una vista de la consola de Google Cloud de los pasos de Cloud Build

Etapa de transferencia

Esta etapa es responsable de controlar la lógica previa a la compilación. Lee, limpia y escribe variables de entorno definidas por el usuario. También anula la referencia y fija cualquier secreto especificado en el archivo apphosting.yaml.

Etapa de compilación

Este es el núcleo del proceso de compilación, responsable de generar una imagen de contenedor ejecutable y un archivo bundle.yaml que define la configuración de compilación. Utiliza paquetes de compilación nativos de la nube para empaquetar la aplicación de manera eficiente. Puedes encontrar más información sobre el archivo bundle.yaml en GitHub.

Los paquetes de compilación son responsables de transformar el código fuente de la aplicación en imágenes de contenedor listas para la producción. Firebase App Hosting une varios paquetes de compilación para completar el proceso de compilación:

  1. Buildpack de entorno de ejecución: Garantiza que se incluyan todos los componentes necesarios para ejecutar una aplicación básica de Node.js y que se instalen las dependencias.
  2. Paquete de compilación de monorepo: Configura paquetes de compilación posteriores para controlar diferentes situaciones de monorepo.
  3. Paquete de compilación de framework: Instala el adaptador de framework correcto (como Angular o Next.js) y prepara los paquetes de compilación posteriores.

    Los adaptadores de framework se encargan de ejecutar el comando de compilación para producción y asignar cualquier valor de configuración específico del framework relevante a un formato estándar que pueda leer App Hosting.

  4. Paquete de compilación del administrador de paquetes: Ejecuta la instalación de dependencias y compila la app con npm, yarn o pnpm.

  5. Buildpack de paquete de salida: Define el comando de ejecución y prepara el paquete de salida para la ejecución.

Etapa de transferencia

En esta etapa final, se empaqueta toda la información extraída del código fuente de la aplicación, además de la imagen del contenedor de compilación, y se envía al backend de App Hosting. Luego, el backend de App Hosting usa esta información para configurar Cloud Run con las configuraciones adecuadas.

Más información

Todo el proceso de compilación de App Hosting es de código abierto.