Buildpack Google Cloud

I buildpack di Google Cloud sono un progetto open source che prende il codice sorgente della tua applicazione e lo trasforma in immagini container pronte per la produzione. I buildpack pubblicati da Google Cloud implementano la specifica Buildpack Cloud Native e sono progettati per aiutarti a creare e configurare i container di cui puoi eseguire il deployment in Google Cloud.

Un buildpack è in genere responsabile di un componente del linguaggio, una toolchain o un componente di app, ad esempio Python, pip o un server web. I buildpack sono raggruppati in raccolte chiamate builder in grado di analizzare il codice sorgente del progetto, creare un piano di build e generare un'immagine container pronta per il deployment.

Containerizzazione con buildpack

Quando esegui il deployment e la gestione della tua applicazione (servizio) o funzione nei prodotti Google Cloud Serverless, il codice viene pacchettizzato in un container 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 build del container. In Cloud Functions e App Engine, il processo di containerizzazione è completamente gestito, il che significa che quando esegui il deployment del codice sorgente, tutta la pacchettizzazione e la conversione delle immagini container vengono eseguite automaticamente.

Ogni immagine container viene creata con tutti i componenti necessari per eseguire il deployment, tra cui codice sorgente, dipendenze di sistema e libreria, dati di configurazione e asset statici. Per impostazione predefinita, i prodotti Google Cloud Serverless utilizzano gli stessi servizi sottostanti, tra cui Cloud Build per la pipeline di deployment e Container Registry o Artifact Registry per l'archiviazione e la gestione delle immagini container.

Quando utilizzi i buildpack Google Cloud:

  • I builder e buildpack sono preconfigurati per gestire il processo di compilazione e creare automaticamente un'immagine container eseguibile.
  • Le buildpack supportano più linguaggi di programmazione e rilevano automaticamente la lingua utilizzata nel codice sorgente.
  • Puoi personalizzare ed estendere i buildpack per installare ulteriori dipendenze di sistema. Tuttavia, il builder predefinito è in grado di gestire le attività comuni richieste dal linguaggio di programmazione, tra cui l'installazione delle dipendenze dal repository dei pacchetti del linguaggio e l'utilizzo del file di dipendenze comune del linguaggio.

Utilizzare i buildpack per containerizzare il codice

I Buildpack possono essere utilizzati in locale o da remoto per:

Per i linguaggi di programmazione che escludono un modo standard per avviare un'applicazione, puoi utilizzare Procfile per definire il processo da richiamare all'avvio di un container. Un elemento Procfile può essere utilizzato per eseguire l'override del processo di avvio predefinito per qualsiasi tipo di buildpack, ma è obbligatorio per alcuni, tra cui Python.

Passaggi successivi