I buildpack di Google Cloud sono un progetto open source che prende il codice sorgente dell'applicazione e lo trasforma in immagini container pronte per la produzione. I buildpack pubblicati da Google Cloud implementano la specifica Cloud Native Buildpack e sono progettati per aiutarti a creare e configurare container che puoi eseguire su Google Cloud.
Un buildpack è in genere responsabile di un componente di linguaggio, di una toolchain o di un componente dell'app, ad esempio Python, pip
o un server web.
I buildpack sono raggruppati in raccolte chiamate
builder che possono analizzare il codice sorgente del progetto,
creare un piano di compilazione e generare un'immagine container pronta per il deployment.
Containerizzazione con i buildpack
Quando esegui il deployment e pubblichi la tua applicazione (servizio) o funzione nei prodotti Google Cloud Serverless, il codice viene pacchettizzato in un contenitore eseguibile utilizzando i buildpack. In Cloud Run, hai la possibilità di eseguire il deployment di un container predefinito o di eseguire il deployment del codice sorgente per consentire a Cloud Run di gestire la compilazione del container. Nelle funzioni Cloud Run e App Engine, il processo di containerizzazione è completamente gestito, il che significa che quando esegui il deployment del codice sorgente, tutto il pacchettizzazione e la conversione delle immagini container viene eseguita automaticamente.
Ogni immagine container viene compilata con tutti i componenti necessari per eseguire il deployment, tra cui codice sorgente, dipendenze di sistema e librerie, dati di configurazione e asset statici. Per impostazione predefinita, i prodotti serverless di Google Cloud utilizzano gli stessi servizi di base, tra cui Cloud Build per la pipeline di deployment e Container Registry o Artifact Registry per lo stoccaggio e la gestione delle immagini container.
Quando utilizzi i buildpack di Google Cloud:
- I builder e i buildpack sono preconfigurati per gestire il processo di compilazione e creare un'immagine container eseguibile per te.
- I buildpack supportano più linguaggi di programmazione e rilevano automaticamente il linguaggio utilizzato nel codice sorgente.
- Puoi personalizzare ed estendere i buildpack per installare dipendenze di sistema aggiuntive. Tuttavia, il compilatore predefinito può gestire le attività comuni richieste dal tuo linguaggio di programmazione, inclusa l'installazione delle dipendenze dal repository del pacchetto del linguaggio e l'utilizzo del file delle dipendenze comuni del linguaggio.
Utilizzare i buildpack per eseguire il containerizzazione del codice
I buildpack possono essere utilizzati localmente o da remoto per:
Per i linguaggi di programmazione che escludono metodi standard per avviare un'applicazione,
puoi utilizzare un Procfile
per definire il processo da richiamare all'avvio di un contenitore.
Un Procfile
può essere utilizzato per sostituire la procedura di avvio predefinita per qualsiasi tipo di buildpack, ma è obbligatorio per alcuni, tra cui Python.
Passaggi successivi
- Strumenti per la creazione
- Creare un'applicazione
- Creare una funzione
- Scopri di più su Cloud Native Buildpacks