Acelera compilaciones con imágenes de caché

Puedes aprovechar las imágenes de caché de los paquetes de compilación para reutilizar los resultados de una compilación anterior. Esto reduce el tiempo total que compilas imágenes con los paquetes de compilación de Google Cloud, incluso cuando compilas imágenes en entornos efímeros, como Cloud Build.

Los siguientes pasos de esta guía se enfocan en las compilaciones remotas con Cloud Build. Para las compilaciones locales, consulta las instrucciones de la imagen de caché y la página de referencia del comando pack.

Usa imágenes de caché con Cloud Build

Debes crear un archivo de configuración de compilación, por ejemplo, cloudbuild.yaml, para habilitar las imágenes en caché de paquetes de compilación en Cloud Build. El archivo de configuración de compilación indica a la CLI de pack que publique una imagen de compilación en un repositorio remoto especificado. Esta imagen de compilación se usa como “imagen de caché” para compilaciones posteriores.

Ten en cuenta que la primera compilación que ejecutas con el archivo de configuración de compilación nuevo usa el comando pack para crear y, luego, enviar la caché de la imagen de compilación inicial a tu repositorio. Las mejoras en el rendimiento de la compilación solo se ven después de que la imagen de caché inicial esté disponible para las compilaciones.

Crea un archivo de configuración de compilación

Para definir un archivo de configuración de Cloud Build, debes escribir un archivo YAML con un paso de compilación que use la CLI de pack para crear la imagen.

En el siguiente ejemplo cloudbuild.yaml, la compilación crea una imagen para tu aplicación o función mediante paquetes de compilación, crea la imagen de caché de compilación inicial y la envía a un repositorio:

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

Reemplaza lo siguiente:

  • LOCATION por el nombre de la región de tu repositorio de contenedores. Ejemplo: us-west2
  • PROJECT_ID por el ID del proyecto de Google Cloud.
  • REPO_NAME por el nombre de tu repositorio de Docker.
  • IMAGE_NAME por el nombre de la aplicación o imagen de contenedor de función
  • CACHE_IMAGE_NAME por el nombre de la imagen de caché de compilación

Consulta también las otras declaraciones compatibles que puedes definir en tu archivo de configuración de compilación en la referencia del comando pack build.

Compila de forma remota con imágenes de caché

Para ejecutar una compilación, debes incluir la marca del comando --config y especificar el archivo de configuración. Por ejemplo, para usar un archivo llamado cloudbuild.yaml, puedes ejecutar el siguiente comando:

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

Para obtener más información sobre las compilaciones remotas, consulta Compila una aplicación o Compila una función.