Accelera le build con le immagini in cache

Puoi utilizzare le immagini in cache dei buildpack per riutilizzare i risultati di una build precedente. In questo modo, viene ridotta la durata complessiva del tempo impiegato per creare immagini con i buildpack di Google Cloud, inclusa la creazione di immagini in ambienti temporanei come Cloud Build.

I passaggi successivi di questa guida riguardano le build remote con Cloud Build. Per le build locali, consulta sia le istruzioni per l'immagine cache sia la pagina di riferimento ai comandi pack.

Utilizzo delle immagini della cache con Cloud Build

Devi creare un file di configurazione di compilazione, ad esempio cloudbuild.yaml, per abilitare la memorizzazione nella cache delle immagini dei buildpack in Cloud Build. Il file di configurazione della build indica all'interfaccia a riga di comando pack di pubblicare un'immagine di build in un repository remoto specificato. Questa immagine di compilazione viene poi utilizzata come "immagine cache" per le compilazioni successive.

Tieni presente che la prima compilazione eseguita con il nuovo file di configurazione della compilazione utilizza il comando pack per creare e poi eseguire il push della cache dell'immagine di compilazione iniziale nel tuo repository. I miglioramenti del rendimento delle build vengono visualizzati solo dopo che l'immagine della cache iniziale è disponibile per le build.

Creazione di un file di configurazione di compilazione

Per definire un file di configurazione di Cloud Build, devi scrivere un file YAML con un passaggio di compilazione che utilizzi l'interfaccia a riga di comando pack per creare l'immagine.

Nel seguente esempio cloudbuild.yaml, la compilazione crea un'immagine per la tua applicazione o funzione utilizzando i buildpack, crea l'immagine della cache della compilazione iniziale e la esegue in un repository:

options:
  logging: CLOUD_LOGGING_ONLY
  pool: {}
projectId: PROJECT_ID
steps:
- name: gcr.io/k8s-skaffold/pack
  entrypoint: pack
  args:
  - build
  - LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/IMAGE_NAME
  - --builder
  - gcr.io/buildpacks/builder:latest
  - --cache-image
  - LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/CACHE_IMAGE_NAME:latest
  - --publish 

Sostituisci:

  • LOCATION con il nome della regione del tuo repository di contenitori. Esempio: us-west2
  • PROJECT_ID con l'ID del tuo progetto Google Cloud.
  • REPO_NAME con il nome del tuo repository Docker.
  • IMAGE_NAME con il nome dell'immagine container dell'applicazione o della funzione.
  • CACHE_IMAGE_NAME con il nome dell'immagine della cache di compilazione.

Consulta anche gli altri argomenti supportati che puoi definire nel file di configurazione della compilazione nel riferimento al comando pack build.

Creazione da remoto con immagini della cache

Per eseguire una compilazione, includi il flag del comando --config e specifica il file di configurazione. Ad esempio, per utilizzare un file denominato cloudbuild.yaml, potresti eseguire:

gcloud builds submit --config cloudbuild.yaml --pack image=example-docker.pkg.dev/my-project-id/repo/example-image

Per ulteriori informazioni sulle build remote, consulta Creare un'applicazione o Creare una funzione.