Cloud-Builder

Cloud-Builder sind Container-Images, in denen häufig genutzte Sprachen und Tools installiert sind. Sie können Cloud Build so konfigurieren, dass ein bestimmter Befehl im Kontext dieser Builder ausgeführt wird.

Auf dieser Seite werden die Builder-Typen beschrieben, die Sie mit Cloud Build verwenden können.

Öffentlich verfügbare Images

Mit Cloud Build können Sie jedes öffentlich verfügbare Image zum Ausführen Ihrer Aufgaben verwenden. Zum Verwenden eines Images müssen Sie in Ihrer Konfigurationsdatei im Feld name die Image-URL angeben. Verwenden Sie das Feld args, um Befehle festzulegen, die im Image ausgeführt werden sollen. Im Feld args eines Build-Schritts wird eine Liste von Argumenten abgerufen und an das Image übergeben, auf das im Feld name verwiesen wird.

Im folgenden Code-Snippet wird gezeigt, wie Sie das öffentliche Image ubuntu von Docker Hub verwenden und einen Befehl in diesem Image ausführen:

steps:
- name: 'ubuntu'
  args: ['echo', 'hello world']

Dies ist ein weiteres Beispielcode-Snippet, bei dem das Image für den Open-Source-Scanner Black Duck für Cloud Build vom Google Cloud Console-Launcher verwendet wird:

steps:
- name: launcher.gcr.io/blackduck-public/blackducksoftware-containerbuilder-scanner
  ...

Weitere Beispiele zur Verwendung öffentlich verfügbarer Images von Docker Hub für Ihre Aufgaben finden Sie unter Node.js-Anwendungen erstellen und Go-Anwendungen erstellen.

Unterstützte Builder-Images, die von Cloud Build bereitgestellt werden

Cloud Build bietet vordefinierte Images, auf die Sie in Ihren Konfigurationsdateien verweisen können, um Ihre Aufgaben auszuführen. Sie finden diese vordefinierten Images in Container Registry am folgenden Speicherort:

gcr.io/cloud-builders/...

Der Quellcode für diese Builder ist im GitHub-Repository für Cloud-Builder verfügbar.

Beispiele zur Verwendung von unterstützten vordefinierten Images finden Sie unter Container-Images erstellen und In Cloud Run bereitstellen.

In dieser Tabelle finden Sie einige Beispiele für unterstützte Builder-Images:

Builder Name Beispiel
bazel gcr.io/cloud-builders/bazel Beispiel für bazel
docker gcr.io/cloud-builders/docker Beispiel für docker
git gcr.io/cloud-builders/git Beispiel für git
gcloud gcr.io/cloud-builders/gcloud Beispiel für gcloud
gke-deploy gcr.io/cloud-builders/gke-deploy Beispiel für gke-deploy
gradle gcr.io/cloud-builders/gradle Beispiel für Gradle
maven gcr.io/cloud-builders/mvn Beispiel für Maven
Vollständige Liste der unterstützten Builder für Cloud Build

Von der Community beigetragene Builder

Die Entwickler-Community von Cloud Build bietet Open-Source-Builder, mit denen Sie Ihre Aufgaben ausführen können. Für diese Builder sind keine vordefinierten Images verfügbar. Damit Sie diese Builder verwenden können, müssen Sie den Quellcode aus dem GitHub-Repository der Cloud-Builder-Community herunterladen und das Image erstellen. Ein Beispiel dafür, wie ein von der Community beigetragener Builder erstellt und dann für Aufgaben verwendet wird, finden Sie unter VM-Images mit Packer erstellen.

Diese Tabelle enthält einige Beispiele für Builder, die von der Community beigetragen wurden:

Builder Beschreibung
docker-compose Führt Integrationstests für Docker-Images aus
remote-builder Führt den Build-Schritt auf einer konfigurierbaren Compute Engine-VM aus
packer Automatisiert die Erstellung von Maschinen-Images mit Packer
helm Verwaltet Kubernetes-Pakete mit Helm
pack Führt den Build-Schritt mit dem angegebenen Cloud Native Buildpack aus
kaniko Führt den Build-Schritt mit Kaniko aus
Vollständige Liste der Builder, die für Cloud Build von der Community beigetragen wurden

Wenn Sie selbst einen Builder beitragen möchten, finden Sie Informationen dazu auf der GitHub-Seite der Cloud-Builder-Community.

Benutzerdefinierten Builder erstellen

Sie können einen eigenen benutzerdefinierten Builder zur Verwendung in Ihren Builds erstellen. Ein benutzerdefinierter Builder ist ein Container-Image, das von Cloud Build mit Ihrer Quelle abgerufen und ausgeführt wird. Ihr benutzerdefinierter Builder kann jedes Skript oder Binärprogramm innerhalb des Containers ausführen. Insofern kann der Schritt alles, was der Container kann. Eine Anleitung zum Erstellen benutzerdefinierter Builder finden Sie unter Benutzerdefinierte Build-Schritte erstellen.

Nächste Schritte