Los buildpacks de Google Cloud son un proyecto de código abierto que toma el código fuente de tu aplicación y lo transforma en imágenes de contenedor listas para producción. Los buildpacks publicados por Google Cloud implementan la especificación de Cloud Native Buildpacks y están diseñados para ayudarte a crear y configurar contenedores que puedes desplegar en Google Cloud.
Un paquete de compilación suele ser responsable de un componente de lenguaje, una cadena de herramientas o un componente de aplicación, como Python, pip
o un servidor web.
Los paquetes de compilación se agrupan en colecciones llamadas compiladores que pueden analizar el código fuente de un proyecto, crear un plan de compilación y generar una imagen de contenedor lista para implementarse.
Creación de contenedores con paquetes de compilación
Cuando despliegas y sirves tu aplicación (servicio) o función en los productos Google Cloud Serverless, tu código se empaqueta en un contenedor ejecutable mediante buildpacks. En Cloud Run, puedes desplegar un contenedor prediseñado o desplegar tu código fuente para que Cloud Run gestione la compilación del contenedor. En las funciones de Cloud Run y App Engine, el proceso de contenerización está totalmente gestionado, lo que significa que, cuando despliegas el código fuente, se realiza todo el empaquetado y la conversión de la imagen de contenedor.
Cada imagen de contenedor se crea con todos los componentes necesarios para ejecutar tu implementación, incluidos el código fuente, las dependencias del sistema y de las bibliotecas, los datos de configuración y los recursos estáticos. De forma predeterminada, los Google Cloud productos sin servidor utilizan los mismos servicios subyacentes, como Cloud Build para la canalización de despliegue, y Container Registry o Artifact Registry para el almacenamiento y la gestión de imágenes de contenedor.
Cuando se usan los buildpacks de Google Cloud:
- Los creadores y los buildpacks están preconfigurados para gestionar el proceso de compilación y crear una imagen de contenedor ejecutable.
- Los buildpacks admiten varios lenguajes de programación y detectan automáticamente el lenguaje que se usa en tu código fuente.
- Puedes personalizar y ampliar los buildpacks para instalar dependencias adicionales del sistema. Sin embargo, el compilador predeterminado puede gestionar las tareas habituales que requiere tu lenguaje de programación, como instalar dependencias del repositorio de paquetes del lenguaje y usar el archivo de dependencias habitual del lenguaje.
Usar buildpacks para crear contenedores de tu código
Los buildpacks se pueden usar de forma local o remota para lo siguiente:
En los lenguajes de programación que no incluyen formas estándar de iniciar una aplicación, puedes usar un Procfile
para definir el proceso que se debe invocar cuando se inicia un contenedor.
Un Procfile
se puede usar para anular el proceso de inicio predeterminado de cualquier tipo de paquete de compilación, pero es obligatorio para algunos, como Python.
Siguientes pasos
- Builders
- Crear una aplicación
- Crear una función
- Información sobre Cloud Native Buildpacks