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 sui prodotti Google Cloud Serverless, il codice viene pacchettizzato in un contenitore eseguibile utilizzando i buildpack. In Cloud Run puoi scegliere di eseguire il deployment di un container predefinito eseguire il deployment del codice sorgente per consentire a Cloud Run di gestire la build del container. Nelle funzioni Cloud Run In App Engine, il processo di containerizzazione è completamente gestito, ovvero quando esegui il deployment del codice sorgente, di tutte le immagini container sia fatto per te.
Ogni immagine container viene creata con tutti i componenti necessari per eseguire il deployment, tra cui codice sorgente, dipendenze di sistema e libreria, dati e risorse statiche. 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.
- Supporto per Buildpacks più linguaggi di programmazione e automaticamente rileva la lingua utilizzata nel codice sorgente.
- Puoi personalizzare ed estendere i buildpack per installare dipendenze di sistema aggiuntive. Tuttavia, il builder predefinito gestire le attività comuni richieste dal tuo linguaggio di programmazione, inclusa l'installazione di dipendenze dal repository di pacchetti del linguaggio e l'utilizzo del file di dipendenze comune 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.
È possibile utilizzare un Procfile
per eseguire l'override del processo di avvio predefinito per qualsiasi
buildpacks, ma è obbligatorio per alcuni, ad esempio
Python.
Passaggi successivi
- Builder
- Crea un'applicazione
- Crea una funzione
- Informazioni su Buildpack cloud-native