Compilateurs

Compilateur générique

Les buildpacks disposent d'un compilateur générique par défaut qui crée des images de conteneurs conçues pour s'exécuter sur les services Google Cloud , y compris, mais sans s'y limiter : Google Kubernetes Engine, GKE Enterprise, Cloud Run, App Engine et les fonctions Cloud Run.

Le compilateur générique des packs de création :

  1. Détecte automatiquement la langue de votre code source. Le compilateur générique Buildpacks analyse les fichiers de configuration de projet courants pour déterminer la version spécifique du langage. Par exemple, si le compilateur détecte le code source comme Node.js, il inspecte ensuite le champ engines dans le fichier package.json pour déterminer une version spécifique de Node.js. Si le compilateur ne peut pas déterminer une version spécifique, il utilise la dernière version disponible.
  2. Détermine si ce code source est une application (service) ou une fonction.
  3. Crée votre code source dans une image de conteneur déployable.

Le compilateur générique lui-même est une image de conteneur hébergée publiquement sur Container Registry.

Tag Emplacement Système d'exploitation
google-24 (Bêta) gcr.io/buildpacks/builder:google-24 Ubuntu 24
latest gcr.io/buildpacks/builder:latest Ubuntu 22. Le tag latest est défini par défaut sur la version google-22 du compilateur générique.
google-22 gcr.io/buildpacks/builder:google-22 Ubuntu 22
v1 gcr.io/buildpacks/builder:v1 Ubuntu 18

Compilateur par défaut

Pour toujours utiliser la version et le système d'exploitation les plus récents, vous pouvez spécifier le tag latest. Le tag latest est défini par défaut sur la version google-22 du compilateur générique et est utilisé lorsque vous exécutez la commande gcloud run deploy. Si vous devez épingler une version, consultez les instructions concernant l'utilisation d'un compilateur spécifique.

Langues disponibles pour la fonctionnalité builder:google-24 (version bêta)

Langue Versions compatibles Applications Fonctions
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

Langues prises en charge builder:google-22

Langage Versions compatibles Applications Fonctions
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

Langues prises en charge builder:v1

Langage Versions compatibles Applications Fonctions
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

Compilateur App Engine

Les buildpacks publient également les compilateurs utilisés pour conteneuriser les applications pour les environnements d'exécution de deuxième génération App Engine.

Les compilateurs App Engine incluent des buildpacks supplémentaires et des configurations spécifiques à App Engine. Ils sont par exemple optimisés pour la vitesse d'exécution et les mises à jour automatiques. Les compilateurs sont définis par langage d'exécution et par système d'exploitation :

Langage Système d'exploitation Emplacement Versions 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, 11
Ubuntu 22 http://us-central1-docker.pkg.dev/serverless-runtimes/google-22-full/builder/java Java 17, 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

Étapes suivantes