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. Nehmen Sie dazu das Feld logging in Ihre Cloud Build-Konfigurationsdatei auf. aus. Wenn Sie in der Build-Konfigurationsdatei kein Feld logging angeben, speichert Cloud Build Build-Logs in Logging und in Cloud Storage.

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

  1. Legen Sie in der Build-Konfigurationsdatei den Wert von loggingMode 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 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 Build-Logs, die in dem von Google erstellten Cloud Storage-Bucket gespeichert sind, ansehen, 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:

Zum Speichern von Build-Logs in Ihrem eigenen Cloud Storage-Bucket müssen Sie dem Cloud Build-Dienstkonto oder dem benutzerdefinierten Dienst die erforderlichen IAM-Berechtigungen erteilen Konto:

  • 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 der Cloud Storage-Bucket und Cloud Build im selben Cloud-Projekt befinden und Sie einen Benutzerdefiniertes Dienstkonto ,Storage-Administrator die Rolle "Dienstkonto" zuweisen. Eine Anleitung zum Zuweisen einer Rolle für ein 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 Hinzufügen.

    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 in die Build-Konfigurationsdatei das Feld logsBucket ein, 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'
    

    JSON

        {
          "steps": [
           {
             "name": "gcr.io/cloud-builders/docker",
             "args": [
               "build",
               "-t",
               "gcr.io/myproject/myimage",
               "."
             ]
           }
           ],
           "logsBucket": "gs://mylogsbucket"
        }
    
  3. Verwenden Sie die Build-Konfigurationsdatei, um einen Build über die Befehlszeile, die API oder 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, weisen Sie die Hauptrollen, die Build-Logs aufrufen möchten, die Rolle Log-Betrachter 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 Tabelle mit den Berechtigungen die E-Mail-ID des Hauptkontos und klicken Sie auf das Stiftsymbol.

    4. Wählen Sie Logging > Logbetrachter aus.

    5. Klicken Sie auf Speichern.

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

    1. Zur Seite "IAM":

      Seite "IAM" öffnen

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

    3. Suchen Sie in der Tabelle mit den Berechtigungen die 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 Tabelle mit den Berechtigungen die 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. Klicken Sie auf der Seite Build-Verlauf auf einen bestimmten Build.

  4. 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"

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.

Nächste Schritte