Accélérez les builds grâce aux images de cache

Vous pouvez utiliser les images de cache des buildpacks pour réutiliser les résultats d'une compilation précédente. Cela réduit la durée globale de compilation d'images à l'aide des buildpacks de Google Cloud, y compris lorsque vous créez des images dans des environnements éphémères tels que Cloud Build.

Les étapes suivantes de ce guide se concentrent sur les compilations distantes avec Cloud Build. Pour les compilations locales, reportez-vous aux instructions de l'image de cache et à la documentation de référence de la commande pack.

Utiliser des images de cache avec Cloud Build

Vous devez créer un fichier de configuration de compilation, par exemple cloudbuild.yaml, pour activer les images de cache des buildpacks dans Cloud Build. Votre fichier de configuration de compilation demande à la CLI pack de publier une image de compilation dans un dépôt distant spécifié. Cette image sera ensuite utilisée comme "image de cache" pour les compilations suivantes.

Notez que la première compilation que vous exécutez avec votre nouveau fichier de configuration de compilation utilise la commande pack pour créer, puis transférer le cache d'image de build initiale vers votre dépôt. Les améliorations de performances de compilation ne sont visibles qu'une fois l'image de cache initiale disponible pour vos compilations.

Créer un fichier de configuration de compilation

Pour définir un fichier de configuration Cloud Build, vous devez créer un fichier YAML avec une étape de compilation qui utilise la CLI pack pour créer votre image.

Dans l'exemple cloudbuild.yaml suivant, la compilation crée une image pour votre application ou votre fonction à l'aide de buildpacks, crée l'image de cache de build initiale et la transfère dans un dépôt:

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 

Remplacez :

  • LOCATION par le nom de la région de votre dépôt de conteneurs. Exemple : us-west2
  • PROJECT_ID par l'ID de votre projet Google Cloud.
  • REPO_NAME par le nom de votre dépôt Docker.
  • IMAGE_NAME par le nom de votre application ou image de conteneur de fonction.
  • CACHE_IMAGE_NAME par le nom de votre image de cache de compilation.

Consultez également les autres arguments compatibles que vous pouvez définir dans votre fichier de configuration de compilation dans la documentation de référence de la commande pack build.

Compiler à distance avec des images de cache

Pour exécuter une compilation, incluez l'option de commande --config et spécifiez votre fichier de configuration. Par exemple, pour utiliser un fichier nommé cloudbuild.yaml, vous pouvez exécuter:

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

Pour en savoir plus sur les compilations distantes, consultez la page Créer une application ou Créer une fonction.