构建器

通用构建器

Buildpack 具有一个默认的通用构建器,可创建在 Google Cloud 服务(包括但不限于 Google Kubernetes Engine、GKE Enterprise、Cloud Run、App Engine 和 Cloud Run functions)上运行的容器映像。

Buildpack 通用构建器:

  1. 自动检测源代码的语言。buildpack 通用构建器会扫描常见的项目配置文件,以确定具体的语言版本。例如,如果构建器检测到源代码为 Node.js,则会检查 package.json 文件中的 engines 字段,以确定具体的 Node.js 版本。如果构建器无法确定特定版本,则会使用最新的可用版本。
  2. 确定该源代码是应用(服务)还是函数。
  3. 将源代码构建到可部署的容器映像中。

通用构建器本身是公开托管在 Container Registry 上的容器映像。

标记 位置 操作系统
google-24(预览版) gcr.io/buildpacks/builder:google-24 Ubuntu 24
latest gcr.io/buildpacks/builder:latest Ubuntu 22. latest 标记默认为通用构建器版本 google-22。
google-22 gcr.io/buildpacks/builder:google-22 Ubuntu 22
v1 gcr.io/buildpacks/builder:v1 Ubuntu 18

默认构建器

如需始终使用最新版本和操作系统,您可以指定 latest 标记。latest 标记默认为通用构建器的 google-22 版本,并在您运行 gcloud run deploy 命令时使用。如果您需要固定到某个版本,请参阅有关使用特定构建器的说明。

builder:google-24(预览版)支持的语言

语言 支持的版本 应用 函数
Python 3.13.x ✓ ✓
3.14.x ✓ ✓
Node.js 22.x.x ✓ ✓
24.x.x ✓ ✓
Go 1.x ✓ ✓
Java 17 ✓ ✓
21 ✓ ✓
25 ✓ ✓
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 ✓ ✓

builder:google-22 支持的语言

语言 支持的版本 应用 函数
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 ✓ ✓

builder:v1 支持的语言

语言 支持的版本 应用 函数
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 ✓ ✓

App Engine 构建器

Buildpack 还会发布用于为 App Engine 第二代运行时容器化应用的构建器。

App Engine 构建器包括其他 buildpack 和 App Engine 特定的配置。例如,它们针对执行速度和自动更新进行了优化。构建器按运行时语言和操作系统分类:

语言 操作系统 位置 可用版本
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
Ubuntu 24 http://us-central1-docker.pkg.dev/serverless-runtimes/google-24-full/builder/java Java 25
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

后续步骤