Compiladores

Compilador genérico

Los paquetes de compilación tienen un compilador genérico predeterminado que crea imágenes de contenedor diseñadas para ejecutarse en Google Cloud servicios, incluidos, sin limitaciones, Google Kubernetes Engine, GKE Enterprise, Cloud Run, App Engine y funciones de Cloud Run.

El compilador genérico de los paquetes de compilación realiza las siguientes acciones:

  1. Detecta el lenguaje de tu código fuente de forma automática. El compilador genérico de buildpacks analiza los archivos de configuración comunes del proyecto para determinar la versión específica del lenguaje. Por ejemplo, si el compilador detecta el código fuente como Node.js, inspecciona el campo engines en el archivo package.json para determinar una versión específica de Node.js. Si el compilador no puede determinar una versión específica, usa la versión más reciente disponible.
  2. Determina si ese código fuente es una aplicación (servicio) o una función.
  3. Compila el código fuente en una imagen de contenedor implementable.

El compilador genérico es una imagen de contenedor alojada de forma pública en Container Registry.

Etiqueta Ubicación Sistema operativo
google-24 (Vista previa) gcr.io/buildpacks/builder:google-24 Ubuntu 24
latest gcr.io/buildpacks/builder:latest Ubuntu 22. La etiqueta latest se establece de forma predeterminada en la versión google-22 del compilador genérico.
google-22 gcr.io/buildpacks/builder:google-22 Ubuntu 22
v1 gcr.io/buildpacks/builder:v1 Ubuntu 18

Compilador predeterminado

Para usar siempre la versión más reciente y el sistema operativo, puedes especificar la etiqueta latest. La etiqueta latest se establece de forma predeterminada en la versión google-22 del compilador genérico y se usa cuando ejecutas el comando gcloud run deploy. Si necesitas fijar una versión, consulta las instrucciones para usar un compilador específico.

Idiomas admitidos en builder:google-24 (versión preliminar)

Idioma Versiones compatibles Aplicaciones Funciones
Python 3.13.x
Node.js 22.x.x
24.x.x
Go 1.x
Java 17
21
Ruby 3.2.x
3.3.x
3.4.x
PHP 8.2.x
8.3.x
8.4.x
.NET Core 8.x.x

Lenguajes que admite builder:google-22

Lenguaje Versiones compatibles Aplicaciones Funciones
Python 3.10.x
3.11.x
3.12.x
3.13.x
Node.js 12.x.x
14.x.x
16.x.x
18.x.x
20.x.x
22.x.x
24.x.x
Java 8
11
17
21
Go 1.x
Ruby 3.1.x
3.2.x
3.3.x
3.4.x
PHP 8.1.x
8.2.x
8.3.x
8.4.x
.NET Core 6.x
7.x
8.x

Lenguajes que admite builder:v1

Lenguaje Versiones compatibles Aplicaciones Funciones
Python 3.7.x
3.8.x
3.9.x
3.10.x
3.11.x
Node.js 8.x.x
12.x.x
14.x.x
16.x.x
18.x.x
20.x.x
Java 8.
11
17
Go 1.x
Ruby 2.5.x
2.6.x
2.7.x
3.0.x
3.1.x
3.2.x
3.3.x
PHP 7.4.x
8.0.x
8.1.x
8.2.x
.NET Core 3.1.x
6.x
7.x
8.x

Compilador de App Engine

Los paquetes de compilación también publican los compiladores que se usan para organizar aplicaciones en contenedores de los entornos de ejecución de segunda generación de App Engine.

Los compiladores de App Engine incluyen paquetes de compilación adicionales y parámetros de configuración específicos de App Engine. Por ejemplo, están optimizadas para la velocidad de ejecución y las actualizaciones automáticas. Los compiladores se basan en el lenguaje del entorno de ejecución y el sistema operativo:

Lenguaje Sistema operativo Ubicación Versiones disponibles
Python Ubuntu 18 http://us-central1-docker.pkg.dev/serverless-runtimes/google-18-full/builder/python Python 3.7, 3.8, 3.9, 3.10, 3.11
Ubuntu 22 http://us-central1-docker.pkg.dev/serverless-runtimes/google-22-full/builder/python Python 3.10, 3.11
Node.js Ubuntu 18 http://us-central1-docker.pkg.dev/serverless-runtimes/google-18-full/builder/nodejs Node.js 10, 12, 14
Ubuntu 22 http://us-central1-docker.pkg.dev/serverless-runtimes/google-22-full/builder/nodejs Node.js 18, 20
Ubuntu 24 http://us-central1-docker.pkg.dev/serverless-runtimes/google-24-full/builder/nodejs Node.js 24
Go Ubuntu 18 http://us-central1-docker.pkg.dev/serverless-runtimes/google-18-full/builder/go Go 1.12, 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.20
Ubuntu 22 http://us-central1-docker.pkg.dev/serverless-runtimes/google-22-full/builder/go Go 1.16, 1.17, 1.18, 1.19, 1.20
Java Ubuntu 18 http://us-central1-docker.pkg.dev/serverless-runtimes/google-18-full/builder/java Java 8 y 11
Ubuntu 22 http://us-central1-docker.pkg.dev/serverless-runtimes/google-22-full/builder/java Java 17 y 21
PHP Ubuntu 18 http://us-central1-docker.pkg.dev/serverless-runtimes/google-18-full/builder/php PHP 7.2, 7.3, 7.4, 8.1
Ubuntu 22 http://us-central1-docker.pkg.dev/serverless-runtimes/google-22-full/builder/php PHP 8.2
Ruby Ubuntu 18 http://us-central1-docker.pkg.dev/serverless-runtimes/google-18-full/builder/ruby Ruby 2.5, 2.6. 2.7, 3.0, 3.1
Ubuntu 22 http://us-central1-docker.pkg.dev/serverless-runtimes/google-22-full/builder/ruby Ruby 3.2

¿Qué sigue?