Richten Sie Ihre Build-Konfigurationsdatei so ein, dass Ihre Build-Logs in Log-Buckets gespeichert werden. So können Sie sie mit Cloud Logging- und Cloud Storage-Tools gruppieren und analysieren. Wenn Sie die Speicherung von Build-Logs konfigurieren, haben Sie mehr Kontrolle über die Speicherung und Analyse Ihrer Logs. Wenn Sie die Einstellungen für die Speicherung von Build-Logs nicht definieren, speichert Cloud Build sie in einem Bucket, der Google Cloudgehört und weniger Optionen für die Analyse von Build-Logs bietet.
Auf dieser Seite wird beschrieben, wie Sie Build-Logs in verschiedenen Arten von Buckets speichern und wie Sie gespeicherte Logs aufrufen und löschen.
Hinweis
Machen Sie sich mit den Optionen für die Build-Konfigurationsdatei vertraut, um die Speicherung von Build-Logs zu konfigurieren. Außerdem sollten Sie wissen, wie sich die Bucket-Eigentümerschaft auf die Zugänglichkeit von Logs auswirkt. Weitere Informationen finden Sie unter Build-Log-Speicheroptionen.
Build-Logs in vom Nutzer erstellten Buckets speichern
Mit von Nutzern erstellten Buckets haben Sie mehr Kontrolle über die Verwaltung und Konfiguration Ihrer Buckets.
.Build-Logs in einem vom Nutzer erstellten Cloud Logging-Bucket speichern
Mit vom Nutzer erstellten Logging-Buckets können Sie die Aufbewahrungsdauer gespeicherter Build-Logs anpassen. So speichern Sie Ihre Build-Logs in einem vom Nutzer erstellten Bucket in Logging:
IAM-Berechtigungen erteilen:
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Logs Configuration Writer (roles/logging.configWriter) für das Konto oder Dienstkonto Ihres Projekts zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Speichern von Build-Logs in einem vom Nutzer erstellten Cloud Logging-Bucket benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Logging-Bucket konfigurieren:
Erstellen Sie einen Bucket und legen Sie einen Wert für das Feld Aufbewahrungszeitraum fest.
Erstellen Sie eine Senke, um Ihre Build-Logs an Ihren neuen Bucket weiterzuleiten:
Geben Sie Folgendes für den Build-Einschlussfilter der Senke ein:
logName = "projects/PROJECT_ID/logs/cloudbuild"Ersetzen Sie dabei PROJECT-ID durch die ID Ihres Projekts in Google Cloud .
(Optional) Wenn Sie verhindern möchten, dass Ihre Build-Logs in den Standard-Logging-Bucket gelangen, folgen Sie dem Beispiel unter Speichern von Logeinträgen in Log-Buckets beenden.
Build-Logs in einem vom Nutzer erstellten Cloud Storage-Bucket speichern
So speichern Sie Ihre Build-Logs in einem vom Nutzer erstellten Cloud Storage-Bucket:
IAM-Berechtigungen erteilen:
Wenn sich Ihr Cloud Storage-Bucket und Cloud Build im selben Google Cloud Projekt befinden und Sie das Legacy-Dienstkonto von Cloud Build verwenden, hat Ihr Legacy-Dienstkonto von Cloud Build standardmäßig die erforderlichen IAM-Berechtigungen. Sie müssen keine zusätzlichen Berechtigungen erteilen. Gehen Sie andernfalls so vor:
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Storage Admin (roles/storage.admin) für das für Ihren Build verwendete Dienstkonto zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Speichern von Build-Logs in einem vom Nutzer erstellten Cloud Storage-Bucket benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Cloud Storage-Bucket konfigurieren:
Erstellen Sie in Ihrem Google Cloud -Projekt einen Cloud Storage-Bucket ohne festgelegte Aufbewahrungsrichtlinie, um Ihre Build-Logs zu speichern.
Fügen Sie der Build-Konfigurationsdatei das Feld
logsBuckethinzu, das auf den Cloud Storage-Bucket verweist, den Sie zum Speichern von Build-Logs erstellt haben. Die folgende Build-Konfigurationsdatei enthält eine Anleitung zum Erstellen eines Container-Images und zum Speichern der Build-Logs in einem Bucket namensmylogsbucket:YAML
steps: - name: 'gcr.io/cloud-builders/docker' args: [ 'build', '-t', 'us-east1-docker.pkg.dev/myproject/myimage', '.' ] logsBucket: 'gs://mylogsbucket' options: logging: GCS_ONLYJSON
{ "steps": [ { "name": "gcr.io/cloud-builders/docker", "args": [ "build", "-t", "us-east1-docker.pkg.dev/myproject/myimage", "." ] } ], "logsBucket": "gs://mylogsbucket", "options": { "logging": "GCS_ONLY" } }Verwenden Sie die Build-Konfigurationsdatei, um einen Build über die Befehlszeile, die API oder über Trigger zu starten.
Wenn der Build abgeschlossen ist, speichert Cloud Build die Build-Logs in dem Cloud Storage-Bucket, den Sie in der Build-Konfigurationsdatei angegeben haben.
Build-Logs in regionsspezifischen Cloud Storage-Buckets speichern
Sie können Ihren Build so konfigurieren, dass Cloud Build Build-Logs an einen vom Nutzer verwalteten Cloud Storage-Bucket in derselben Region wie Ihr Build sendet. Wenn Sie die Regionen Ihres Build- und Build-Log-Speicher-Buckets aufeinander abstimmen, können Sie die Anforderungen an den Datenstandort besser erfüllen.
IAM-Berechtigungen erteilen:
Wenn sich Ihr Cloud Storage-Bucket und Cloud Build im selben Google Cloud Projekt befinden und Sie das alte Cloud Build-Dienstkonto verwenden, hat dieses Dienstkonto standardmäßig die erforderlichen IAM-Berechtigungen. Sie müssen keine zusätzlichen Berechtigungen erteilen. Gehen Sie andernfalls so vor:
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Storage Admin (roles/storage.admin) für das Dienstkonto zuzuweisen, das für Ihren Build verwendet wird, um die Berechtigungen zu erhalten, die Sie zum Speichern von Build-Logs in einem nutzereigenen und regionsspezifischen Bucket benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Regionenspezifischen Cloud Storage-Bucket konfigurieren:
Fügen Sie in Ihrer Build-Konfigurationsdatei die Option
defaultLogsBucketBehaviorhinzu und legen Sie ihren Wert aufREGIONAL_USER_OWNED_BUCKETfest:YAML
steps: - name: 'gcr.io/cloud-builders/docker' args: [ 'build', '-t', 'us-central1-docker.pkg.dev/myproject/myrepo/myimage', '.' ] options: defaultLogsBucketBehavior: REGIONAL_USER_OWNED_BUCKETJSON
{ "steps": [ { "name": "gcr.io/cloud-builders/docker", "args": [ "build", "-t", "us-central1-docker.pkg.dev/myproject/myrepo/myimage", "." ] } ], "options": { "defaultLogsBucketBehavior": "REGIONAL_USER_OWNED_BUCKET" } }Verwenden Sie die Build-Konfigurationsdatei, um einen Build über die Befehlszeile, die API oder über Trigger zu starten.
Wenn Sie Ihren Build ausführen, erstellt Cloud Build den neuen Bucket in der Region, in der Sie Ihren Build ausführen, und speichert die Build-Logs dann in diesem Bucket. Für weitere Builds im selben Projekt und in derselben Region wird der vorhandene Bucket verwendet, solange
REGIONAL_USER_OWNED_BUCKETaktiv ist. Dieser Bucket gehört dem Nutzer. Sie können ihn also wie einen vom Nutzer erstellten Bucket konfigurieren.Wenn Sie die Option
REGIONAL_USER_OWNED_BUCKETfestlegen und Builds in mehreren Regionen erstellen, erstellt Cloud Build für jede eindeutige Region einen Cloud Storage-Bucket.
Sie können auch einen vom Nutzer erstellten Bucket verwenden, wenn Sie die Region und den Log-Bucket Ihres Builds anpassen müssen. In diesem Fall können Sie entweder einen vorhandenen, vom Nutzer erstellten Bucket mit derselben Region auswählen oder einen neuen erstellen. Wenn Sie einen erstellen möchten, folgen Sie der Anleitung unter Build-Logs in vom Nutzer erstellten Buckets speichern und achten Sie darauf, dass Ihr vom Nutzer erstellter Bucket dieselbe Region wie Ihr Build hat.
Build-Logs anzeigen
So rufen Sie Ihre Build-Logs auf:
IAM-Berechtigungen erteilen:
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Dienstkonto zuzuweisen, das für Ihren Build verwendet wird, um die Berechtigungen zu erhalten, die Sie zum Aufrufen von Build-Logs in Cloud Storage oder Logging benötigen:
-
Build-Logs in einem vom Nutzer erstellten oder ihm gehörenden Cloud Storage-Bucket ansehen:
- Storage-Objekt-Betrachter (
roles/storage.objectViewer): die Hauptkonten, die Build-Logs ansehen möchten - Zugriffsberechtigter für Logbetrachtung (
roles/logging.viewAccessor): die Principals, die Build-Logs ansehen möchten
- Storage-Objekt-Betrachter (
-
Build-Logs im standardmäßigen Cloud Storage-Bucket ansehen:
Betrachter (
roles/viewer) – das Projekt, in dem der Build konfiguriert ist -
Build-Logs in Logging ansehen:
Logbetrachter (
roles/logging.viewer) – die Principals, die Build-Logs ansehen möchten
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Build-Logs in Google Cloudansehen
Console
Öffnen Sie die Cloud Build-Seite in der Google Cloud Console.
Wählen Sie Ihr Projekt aus und klicken Sie auf Öffnen.
Wählen Sie im Drop-down-Menü Region die Region für Ihren Build aus.
Wählen Sie auf der Seite Build-Verlauf einen bestimmten Build aus.
Klicken Sie auf der Seite Build-Details unter Schritte auf Build-Zusammenfassung, um Build-Logs für den gesamten Build aufzurufen, oder wählen Sie einen Build-Schritt aus, um Build-Logs für diesen Schritt aufzurufen.
Wenn Ihre Build-Logs in Logging gespeichert sind, klicken Sie im Bereich Build-Log auf das Symbol , um die Logs im Log-Explorer aufzurufen.
gcloud
Führen Sie den Befehl gcloud builds log aus, wobei build-id die ID des Builds ist, für den Sie Build-Logs abrufen möchten. Die Build-ID wird am Ende des Übermittlungsprozesses für den Build angezeigt, wenn Sie gcloud builds submit ausführen, oder in der ID-Spalte, wenn Sie gcloud builds list ausführen.
gcloud builds log build-id
Build-Logs in GitHub und GitHub Enterprise ansehen
Wenn Sie einen GitHub- oder GitHub Enterprise-Trigger mit der gcloud CLI oder der Cloud Build API erstellen und --include-logs-with-status als Option angeben, können Sie Ihre Build-Logs in GitHub und GitHub Enterprise ansehen.
So rufen Sie Build-Logs in GitHub und GitHub Enterprise auf:
Rufen Sie das Repository auf, das mit Ihrem Trigger verknüpft ist.
Rufen Sie die Liste Ihrer Commits auf.
Suchen Sie die Zeile des Commits, für den Sie Build-Logs aufrufen möchten.
Klicken Sie in der Zeile Ihres Commits auf das Ergebnissymbol.
Es wird eine Liste der Prüfungen angezeigt, die mit Ihrem Commit verknüpft sind.
Klicken Sie in der Zeile, für die Sie Build-Logs aufrufen möchten, auf Details.
Die Seite Zusammenfassung für Ihren Commit wird angezeigt. Wenn Sie einen Trigger mit dem Flag
--include-logs-with-statuserstellt haben, werden die Build-Logs im Abschnitt Details der Seite angezeigt.
Build-Logs und -Buckets löschen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Dienstkonto zuzuweisen, das für Ihren Build verwendet wird, um die Berechtigungen zu erhalten, die Sie zum Löschen von Build-Logs und Buckets in Cloud Storage benötigen:
-
Build-Logs in einem vom Nutzer erstellten oder ihm gehörenden Cloud Storage-Bucket löschen:
Storage-Administrator (
roles/storage.admin): Der Nutzer oder das Dienstkonto, das Build-Logs löscht -
Von Nutzern erstellte oder ihnen gehörende Cloud Storage-Bucket löschen:
Storage-Administrator (
roles/storage.admin): Der Nutzer oder das Dienstkonto, das Buckets löscht -
Einen vom Nutzer erstellten Logging-Bucket löschen: Autor von Logkonfigurationen (
roles/logging.configWriter) – Ihr Projekt
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Wenn Sie Build-Logs in einem vom Nutzer erstellten oder ihm gehörenden Cloud Storage-Bucket löschen möchten, folgen Sie der Anleitung unter Objekte löschen in der Cloud Storage-Dokumentation.
Wenn Sie einen vom Nutzer erstellten oder im Besitz des Nutzers befindlichen Cloud Storage-Bucket löschen möchten, folgen Sie der Anleitung unter Buckets löschen in der Cloud Storage-Dokumentation.
Wenn Sie einen vom Nutzer erstellten Logging-Bucket löschen möchten, folgen Sie der Anleitung unter Bucket löschen in der Logging-Dokumentation.
Nächste Schritte
- Informationen zu Audit-Logs, die von Cloud Build erstellt wurden
- Build-Ergebnisse aufrufen
- Informationen zu Cloud Build-IAM-Berechtigungen.