Build-Logs speichern und verwalten

Wenn Sie Builds ausführen, erfasst und speichert Cloud Build Ihre Build-Logs. Auf dieser Seite wird erläutert, wie Sie Build-Logs speichern, aufrufen und löschen.

Speicherort für Build-Logs auswählen

Sie können Cloud Build so konfigurieren, dass Build-Logs in Cloud Logging oder in Cloud Storage gespeichert werden. Fügen Sie dazu das Feld logging in Ihre Cloud Build-Konfigurationsdatei ein. Wenn Sie in der Build-Konfigurationsdatei kein logging-Feld angeben, speichert Cloud Build sowohl Build-Logs als auch Cloud Storage.

Mit den folgenden Schritten werden Build-Logs nur in Logging gespeichert:

  1. Legen Sie in der Build-Konfigurationsdatei den Wert von logging auf CLOUD_LOGGING_ONLY fest:

    YAML

    steps:
    - name: 'gcr.io/cloud-builders/docker'
      args: ['build', '-t', 'gcr.io/myproject/myimage', '.']
    options:
      logging: CLOUD_LOGGING_ONLY
    

    JSON

    {
      "steps": [
      {
        "name": "gcr.io/cloud-builders/docker",
        "args": [
          "build",
          "-t",
          "gcr.io/myproject/myimage",
          "."
        ]
      }
      ],
      "options": {
        "logging": "CLOUD_LOGGING_ONLY"
      }
    }
    
  2. Verwenden Sie die Build-Konfigurationsdatei, um einen Build über die Befehlszeile, die API oder über Trigger zu starten.

Speichern von Build-Logs im von Google erstellten Standard-Bucket

Cloud Build speichert Ihre Build-Logs standardmäßig in einem von Google erstellten Cloud Storage-Bucket. Sie können die in dem von Google erstellten Cloud Storage-Bucket gespeicherten Build-Logs anzeigen, aber keine weiteren Änderungen daran vornehmen. Wenn Sie die volle Kontrolle über Ihren Log-Bucket benötigen, speichern Sie die Logs in einem vom Nutzer erstellten Cloud Storage-Bucket.

Build-Logs in einem vom Nutzer erstellten Bucket speichern

IAM-Berechtigungen:

Um Build-Logs in Ihrem eigenen Cloud-Storage-Bucket zu speichern, müssen Sie zuerst dem Cloud Build-Dienstkonto oder dem benutzerdefinierten Dienstkonto die erforderlichen IAM-Berechtigungen erteilen:

  • Wenn sich der Cloud Storage-Bucket und Cloud Build im selben Cloud-Projekt befinden und Sie das Cloud Build-Dienstkonto verwenden, hat Ihr Cloud Build-Dienstkonto standardmäßig die erforderlichen IAM-Berechtigungen. Sie müssen keine zusätzlichen Berechtigungen erteilen.

  • Wenn sich Ihr Cloud Storage-Bucket und Cloud Build im selben Cloud-Projekt befinden und Sie ein benutzerspezifisches Dienstkonto verwenden, gewähren Sie dem Dienstkonto die Rolle Storage-Administrator. Eine Anleitung zum Zuweisen einer Rolle zu einem Dienstkonto finden Sie unter Rollen für das Projekt zuweisen.

  • Wenn sich Ihr Cloud Storage-Bucket und Cloud Build in verschiedenen Cloud-Projekten befinden, weisen Sie dem Cloud Build-Dienstkonto die Rolle Storage-Administrator zu:

    1. Zur Seite "IAM":

      IAM-Seite öffnen

    2. Wählen Sie das Projekt aus, in dem Sie Builds mit Cloud Build ausführen.

    3. Suchen Sie in der Tabelle mit den Berechtigungen nach der E-Mail-Adresse, die mit @cloudbuild.gserviceaccount.com endet, und notieren Sie sie. Dies ist Ihr Cloud Build-Dienstkonto.

    4. Öffnen Sie die IAM-Seite in dem Projekt, in dem sich Ihr Cloud Storage-Bucket befindet:

      IAM-Seite öffnen

    5. Klicken Sie auf Add.

    6. Geben Sie die E-Mail-Adresse des Cloud Build-Dienstkontos ein.

    7. Wählen Sie Cloud Storage und dann Storage-Administrator aus.

    8. Klicken Sie auf Speichern.

So geben Sie einen Cloud Storage-Bucket zum Speichern von Build-Logs an:

  1. Erstellen Sie in Ihrem Cloud-Projekt einen Cloud Storage-Bucket zum Speichern Ihrer Build-Logs.

  2. Fügen Sie der Build-Konfigurationsdatei das Feld logsBucket hinzu, 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 namens mylogsbucket:

    YAML

        steps:
        - name: 'gcr.io/cloud-builders/docker'
          args: [ 'build', '-t', 'gcr.io/myproject/myimage', '.' ]
        logsBucket: 'gs://mylogsbucket'
        options:
          logging: GCS_ONLY
    

    JSON

        {
          "steps": [
           {
             "name": "gcr.io/cloud-builders/docker",
             "args": [
               "build",
               "-t",
               "gcr.io/myproject/myimage",
               "."
             ]
           }
           ],
           "logsBucket": "gs://mylogsbucket",
           "options": {
             "logging": "GCS_ONLY"
           }
        }
    
  3. 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 Logs in dem Cloud Storage-Bucket, den Sie in der Build-Konfigurationsdatei angegeben haben.

Build-Logs ansehen

IAM-Berechtigungen:

  • Wenn sich Ihre Build-Logs in Logging befinden, gewähren Sie den Hauptkonten, die die Build-Logs einsehen möchten, die Rolle Log-Betrachter für das Projekt, in dem der Build konfiguriert ist:

    1. Zur Seite "IAM":

      Seite "IAM" öffnen

    2. Wählen Sie Ihr Projekt aus und klicken Sie auf Öffnen.

    3. Suchen Sie in der Berechtigungstabelle nach der E-Mail-ID des Hauptkontos und klicken Sie auf das Stiftsymbol.

    4. Wählen Sie die Rolle Logging > Log-Betrachter aus.

    5. Klicken Sie auf Speichern.

  • Wenn sich Ihre Build-Logs im von Google erstellten Cloud Storage-Standard-Bucket befinden, weisen Sie Hauptkonten, die Build-Logs ansehen möchten, die Rolle Projektbetrachter für das Projekt zu, in dem der Build konfiguriert ist:

    1. Zur Seite "IAM":

      Seite "IAM" öffnen

    2. Wählen Sie Ihr Projekt aus und klicken Sie auf Öffnen.

    3. Suchen Sie in der Berechtigungstabelle nach der E-Mail-ID des Hauptkontos und klicken Sie auf das Stiftsymbol.

    4. Wählen Sie Projekt und dann Betrachter aus.

    5. Klicken Sie auf Speichern.

    Wenn sich Ihre Build-Logs in einem benutzerdefinierten Cloud Storage-Bucket befinden, weisen Sie Hauptkonten, die Build-Logs ansehen möchten, die Rolle Storage-Objekt-Betrachter zu:

    1. Zur Seite "IAM":

      Seite "IAM" öffnen

    2. Wählen Sie Ihr Projekt aus und klicken Sie auf Öffnen.

    3. Suchen Sie in der Berechtigungstabelle nach der E-Mail-ID des Hauptkontos und klicken Sie auf das Stiftsymbol.

    4. Wählen Sie die Rolle Cloud Storage und dann Storage-Objekt-Betrachter aus.

    5. Klicken Sie auf Speichern.

So rufen Sie Build-Logs auf:

Console

  1. Öffnen Sie die Cloud Build-Seite in der Google Cloud Console.

    Zur Seite "Cloud Build"

  2. Wählen Sie Ihr Projekt aus und klicken Sie auf Öffnen.

  3. Wählen Sie im Drop-down-Menü Region die Region für den Build aus.

  4. Klicken Sie auf der Seite Build-Verlauf auf einen bestimmten Build.

  5. Klicken Sie auf der Seite Build-Details unter Schritte auf Build-Zusammenfassung, um Build-Logs für den gesamten Build aufzurufen, oder klicken Sie auf einen Build-Schritt, um Build-Logs für diesen Schritt aufzurufen.

    Grafik: Screenshot der Build-Logs auf der Seite "Build-Details"

  6. Wenn Ihre Logs in Logging gespeichert sind, klicken Sie im Bereich Build-Log auf das Symbol , um die Logs im Log-Explorer aufzurufen.

    Screenshot von Build-Logs im Log-Explorer

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 löschen

Sie können keine Build-Logs im von Google erstellten Log-Bucket löschen.

So löschen Sie Build-Logs in einem vom Nutzer erstellten Log-Bucket:

  1. Gewähren Sie dem Nutzer oder dem Dienstkonto, das Logs löscht, die Rolle Storage Object Admin.

  2. Löschen Sie die Build-Logs gemäß der Anleitung zum Löschen von Cloud Storage-Objekten unter Objekte löschen.

So löschen Sie den vom Nutzer erstellten Log-Bucket:

  1. Weisen Sie dem Nutzer oder dem Dienstkonto, das den Log-Bucket löscht, die Rolle Storage-Administrator zu.

  2. Löschen Sie den Log-Bucket unter Verwendung der Anleitung zum Löschen von Buckets.

Weitere Informationen