Velocizza le build con immagini cache

Puoi utilizzare le immagini in cache dei buildpack per riutilizzare i risultati di una build precedente. Questo riduce la durata complessiva quando crei immagini con i buildpack di Google Cloud, anche quando e creare immagini in ambienti temporanei come Cloud Build.

I passaggi seguenti in questa guida sono incentrati sulle 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 cache con Cloud Build

Devi creare un'istanza file di configurazione della build, ad esempio cloudbuild.yaml, per abilitare le immagini della cache 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.

Nell'esempio seguente, cloudbuild.yaml, la build crea un'immagine per un'applicazione o una funzione che utilizza buildpacks, crea la build iniziale dell'immagine cache ed 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 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 della tua applicazione o funzione.
  • CACHE_IMAGE_NAME con il nome dell'immagine della cache della build.

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.