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

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.
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.
Unsere Ideen
Weitere Blogs
Contact



