Blog

Die einfachste und allgemeinste Google Cloud Build yaml-Konfigurationsdatei aller Zeiten

Mark van Holsteijn

Aktualisiert Oktober 21, 2025
2 Minuten

Bei Cloud Native-Migrationen sind wir sehr auf Container-Images angewiesen. In diesem Mini-Blog stelle ich Ihnen die einfachste Google Cloud Build-Konfigurationsdatei vor, mit der Sie sowohl Snapshot- als auch Release-Versionen gleichzeitig erstellen können.

Google Cloud Build Konfiguration

Ohne Umschweife: Hier ist die einfachste und allgemeinste Google Cloud Build YAML-Konfigurationsdatei für die Erstellung von Container-Images:

steps:
  - name: 'gcr.io/cloud-builders/docker'
    args: ['build', '-t', '${_IMAGE}', '.']

images: ['${_IMAGE}']

substitutions:
  _IMAGE: 'gcr.io/${PROJECT_ID}/${REPO_NAME}:${TAG_NAME:-${SHORT_SHA}}'

Es erstellt ein Docker-Image und stellt es in der Registry des Projekts bereit. Der Name des Images wird aus dem Projekt- und Repository-Namen abgeleitet. Das Image-Tag ist entweder:

  • den Tag-Namen
  • oder der kurze Git-Commit sha

Wie Sie sehen können, ist diese Konfiguration völlig generisch und kann zu jedem Container-Image-Quell-Repository hinzugefügt werden!

Google Cloud Build Auslöser-Konfiguration

Das folgende Terraform-Snippet zeigt, wie Sie einen Build bei Push auslösen können:

resource "google_cloudbuild_trigger" "on-push" {
  name    = format("on-push-%s", var.repo_name)
  github {
    owner = var.repo_owner
    name  = var.repo_name
    push {
      branch = ".*"
    }
  }

  filename   = "cloudbuild.yaml"
  provider   = google-beta
}

Das folgende Terraform-Snippet zeigt, wie Sie das Auslösen eines Build-on-Tags konfigurieren:

resource "google_cloudbuild_trigger" "on-tag" {
  name    = format("on-tag-%s", var.repo_name)
  github {
    owner = var.repo_owner
    name  = var.repo_name
    push {
      tag = "[0-9]+.[0-9]+.[0-9]+"
    }
  }

  filename   = "cloudbuild.yaml"
  provider   = google-beta
}

Diese Trigger werden bei Änderungen am Github-Quellcode-Repository ausgeführt. Sehen Sie sich die Dokumentation zur Erstellung von GitHub-App-Triggern für Google Cloud Build an.

Manuelle Erstellung

Davon rate ich natürlich dringend ab, aber um den Container-Erstellungsprozess von der Kommandozeile aus zu starten, geben Sie ein:

PROJECT_ID=$(gcloud config get-value core/project)
REPO_NAME=$(basename $PWD)
COMMIT_SHA=$(git rev-parse --short head)
gcloud builds submit 
  --substitutions 
    _IMAGE=gcr.io/$PROJECT_ID/$REPO_NAME:$COMMIT_SHA

Fazit

Diese einfache, generische Google Cloud Build-Konfigurationsdatei kann in jedem Container-Image-Repository verwendet werden, das in einer CI/CD-Pipeline benötigt wird.

Bild von TooDoTAT von Pixabay

Verfasst von

Mark van Holsteijn

Mark van Holsteijn is a senior software systems architect at Xebia Cloud-native solutions. He is passionate about removing waste in the software delivery process and keeping things clear and simple.

Contact

Let’s discuss how we can support your journey.