Velocizza le build con le immagini della cache

Puoi sfruttare le immagini nella cache dei buildpack per riutilizzare i risultati di una build precedente. In questo modo si riduce la durata complessiva della creazione di immagini con i buildpack di Google Cloud, anche in caso di creazione di immagini in ambienti temporanei come Cloud Build.

I passaggi seguenti di questa guida sono incentrati sulle build remote con Cloud Build. Per le build locali, consulta sia la pagina delle istruzioni per l'immagine cache sia la pagina di riferimento sui comandi pack.

Utilizzo delle immagini cache con Cloud Build

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

Tieni presente che la prima build che esegui con il nuovo file di configurazione di compilazione utilizza il comando pack per creare ed eseguire il push della cache dell'immagine build iniziale nel repository. I miglioramenti delle prestazioni delle build sono visibili solo dopo che l'immagine iniziale della cache è 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 build che utilizzi l'interfaccia a riga di comando pack per creare la tua immagine.

Nell'esempio cloudbuild.yaml seguente, la build crea un'immagine per l'applicazione o la funzione utilizzando buildpack, crea l'immagine cache iniziale della build e ne esegue il push 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 repository dei container. 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 della build.

Vedi anche gli altri aurgement supportati che puoi definire nel file di configurazione della build nel riferimento per i comandi pack build.

Creazione da remoto con le immagini della cache

Per eseguire una build, includi il flag del comando --config e specifica il file di configurazione. Ad esempio, per utilizzare un file denominato cloudbuild.yaml, puoi 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.