Generic Builder
Buildpacks ha un builder generico predefinito che crea immagini container progettate per l'esecuzione su servizi Google Cloud , inclusi, a titolo esemplificativo: Google Kubernetes Engine, GKE Enterprise, Cloud Run, App Engine e Cloud Run Functions.
Il builder generico dei buildpack:
- Rileva automaticamente la lingua del codice sorgente. Il builder generico dei buildpack analizza i file di configurazione dei progetti comuni per determinare la versione specifica del linguaggio.
Ad esempio, se il builder rileva il codice sorgente come Node.js, esamina il campo
enginesnel filepackage.jsonper determinare una versione specifica di Node.js. Se il builder non riesce a determinare una versione specifica, utilizza l'ultima versione disponibile. - Determina se il codice sorgente è un'applicazione (servizio) o una funzione.
- Crea un'immagine container di cui è possibile eseguire il deployment a partire dal codice sorgente.
Il builder generico stesso è un'immagine container ospitata pubblicamente su Container Registry.
| Tag | Località | Sistema operativo |
|---|---|---|
latest |
gcr.io/buildpacks/builder:latest | Ubuntu 24. Il tag latest corrisponde per impostazione predefinita alla versione del builder generico google-24. |
google-24 |
gcr.io/buildpacks/builder:google-24 | Ubuntu 24 |
google-22 |
gcr.io/buildpacks/builder:google-22 | Ubuntu 22 |
v1 |
gcr.io/buildpacks/builder:v1 | Ubuntu 18 |
Builder predefinito
Per utilizzare sempre la versione e il sistema operativo più recenti, puoi specificare il tag latest. Il tag latest viene impostato per impostazione predefinita sulla versione google-24 del builder generico e viene utilizzato quando esegui il comando gcloud run deploy.
Se devi eseguire il pinning a una versione, consulta le istruzioni su come utilizzare un builder specifico.
Runtime supportati da builder:google-24
| Lingua | Versioni supportate | Applicazioni | Funzioni |
|---|---|---|---|
| Python | 3.13.x | ✓ | ✓ |
| 3.14.x | ✓ | ✓ | |
| 3.15.x | ✓ | ✓ | |
| Node.js | 22.x.x | ✓ | ✓ |
| 24.x.x | ✓ | ✓ | |
| 26.x.x | ✓ | ✓ | |
| Go | 1.x | ✓ | ✓ |
| Java | 17 | ✓ | ✓ |
| 21 | ✓ | ✓ | |
| 25 | ✓ | ✓ | |
| Ruby | 3.2.x | ✓ | ✓ |
| 3.3.x | ✓ | ✓ | |
| 3.4.x | ✓ | ✓ | |
| 4.0.x | ✓ | ✓ | |
| PHP | 8.2.x | ✓ | ✓ |
| 8.3.x | ✓ | ✓ | |
| 8.4.x | ✓ | ✓ | |
| 8.5.x | ✓ | ✓ | |
| .NET Core | 8.x.x | ✓ | ✓ |
| 10.x.x | ✓ | ✓ | |
| Solo sistema operativo | ✓ |
Runtime supportati da builder:google-22
| Lingua | Versioni supportate | Applicazioni | Funzioni |
|---|---|---|---|
| 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 | ✓ | ✓ |
Lingue supportate da builder:v1
| Lingua | Versioni supportate | Applicazioni | Funzioni |
|---|---|---|---|
| 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 | ✓ | ✓ |
Builder di App Engine
I buildpack pubblicano anche i builder utilizzati per containerizzare le applicazioni per i runtime di seconda generazione di App Engine.
I builder di App Engine includono buildpack aggiuntivi e configurazioni specifiche di App Engine. Ad esempio, sono ottimizzati per la velocità di esecuzione e gli aggiornamenti automatici. I builder sono suddivisi per linguaggio di runtime e sistema operativo: