Generic Builder
Buildpacks has a default generic builder that creates container images designed to run on Google Cloud services, including but not limited to: Google Kubernetes Engine, GKE Enterprise, Cloud Run, App Engine, and Cloud Run functions.
The buildpacks generic builder:
- Automatically detects the language of your source code. The buildpacks generic builder scans common project configuration files to determine the specific language version. For example, if the builder detects the source code as Node.js, it then inspects the
enginesfield in thepackage.jsonfile to determine a specific version of Node.js. If the builder can't determine a specific version, it uses the latest available version. - Determines if that source code is an application (service) or function.
- Builds your source code into a deployable container image.
The generic builder itself is a container image that's publicly hosted on Container Registry.
| Tag | Location | Operating system |
|---|---|---|
google-24 (Preview) | gcr.io/buildpacks/builder:google-24 | Ubuntu 24 |
latest | gcr.io/buildpacks/builder:latest | Ubuntu 22. The latest tag defaults to the generic builder version google-22. |
google-22 | gcr.io/buildpacks/builder:google-22 | Ubuntu 22 |
v1 | gcr.io/buildpacks/builder:v1 | Ubuntu 18 |
Default builder
To always use the most recent version and operating system, you can specify the latest tag. The latest tag defaults to the google-22 version of the generic builder and is used when you run the gcloud run deploy command. If you need to pin to a version, see the instructions about how to Use a specific builder.
builder:google-24 (Preview) supported languages
| Language | Supported Versions | Applications | Functions |
|---|---|---|---|
| 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 | ✓ | ✓ |
builder:google-22 supported languages
| Language | Supported Versions | Applications | Functions |
|---|---|---|---|
| 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 supported languages
| Language | Supported Versions | Applications | Functions |
|---|---|---|---|
| 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 builder
Buildpacks also publish the builders that are used to containerize applications for the App Engine second-generation runtimes.
The App Engine builders include additional buildpacks and App Engine-specific configurations. For example, they are optimized for execution speed and automatic updates. Builders are by runtime language and operating system: