Builds mit Cache-Images beschleunigen

Sie können Buildpacks-Cache-Images nutzen, um Ergebnisse aus einem vorherigen Build wiederzuverwenden. Dies reduziert die Gesamtdauer bei der Erstellung von Images mit den Buildpacks von Google Cloud, auch wenn Sie Images in sitzungsspezifischen Umgebungen wie Cloud Build erstellen.

Die folgenden Schritte in dieser Anleitung beziehen sich auf Remote-Builds mit Cloud Build. Informationen zu lokalen Builds finden Sie in der Anleitung zum Cache-Image und in der Befehlsreferenz zu pack.

Cache-Images mit Cloud Build verwenden

Sie müssen eine Build-Konfigurationsdatei erstellen, z. B. cloudbuild.yaml, um Buildpacks-Cache-Images in Cloud Build zu aktivieren. Ihre Build-Konfigurationsdatei weist das pack CLI an, ein Build-Image in einem angegebenen Remote-Repository zu veröffentlichen. Dieses Build-Image wird dann als „Cache-Image“ für nachfolgende Builds verwendet.

Beachten Sie, dass der erste Build, den Sie mit Ihrer neuen Build-Konfigurationsdatei ausführen, den Befehl pack verwendet, um den ersten Build-Image-Cache zu erstellen und per Push in Ihr Repository zu übertragen. Die Verbesserungen der Build-Leistung werden erst festgestellt, wenn das erste Cache-Image für Ihre Builds verfügbar ist.

Build-Konfigurationsdatei erstellen

Zum Definieren einer Cloud Build-Konfigurationsdatei müssen Sie eine YAML-Datei mit einem Build-Schritt schreiben, der das pack CLI verwendet, um das Image zu erstellen.

Im folgenden Beispiel erstellt cloudbuild.yaml den Build für Ihre Anwendung oder Funktion mithilfe von Buildpacks, erstellt das anfängliche Build-Cache-Image und überträgt es per Push in ein 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

Ersetzen Sie:

  • LOCATION durch den Namen der Region Ihres Container-Repositorys. Beispiel: us-west2
  • Ersetzen Sie PROJECT_ID durch die ID Ihres Google Cloud-Projekts.
  • REPO_NAME durch den Namen des Docker-Repositorys.
  • IMAGE_NAME durch den Namen des Anwendungs- oder Funktionscontainer-Images.
  • CACHE_IMAGE_NAME durch den Namen Ihres Build-Cache-Images.

Beachten Sie außerdem die anderen unterstützten Kennzeichnungen, die Sie in der Build-Konfigurationsdatei in der Befehlsreferenz zu pack build definieren können.

Remote mit Cache-Images erstellen

Zum Ausführen eines Builds fügen Sie das Flag --config ein und geben Ihre Konfigurationsdatei an. Wenn Sie beispielsweise eine Datei mit dem Namen cloudbuild.yaml verwenden möchten, führen Sie Folgendes aus:

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

Weitere Informationen zu Remote-Builds finden Sie unter Anwendung erstellen oder Funktion erstellen.