Build-Ergebnisse ansehen

Auf dieser Seite wird erläutert, wie Sie Informationen zu Ihren Builds von Cloud Build mit der Google Cloud Console, dem gcloud-Befehlszeilentool und der Cloud Build API aufrufen.

Hinweis

Wenn Sie die Befehlszeilenbeispiele in dieser Anleitung verwenden möchten, installieren Sie das gcloud-Befehlszeilentool.

Build-Ergebnisse ansehen

Zum Aufrufen von Build-Logs benötigen Hauptkonten zusätzlich zu den Cloud Build-IAM-Berechtigungen eine der folgenden IAM-Rollen:

Weitere Informationen zu den erforderlichen Berechtigungen zum Aufrufen von Build-Logs finden Sie unter Build-Logs ansehen.

Console

Im Build-Verlauf der Cloud Console können Sie Informationen zum Status eines Builds abfragen, u. a. Erfolg oder Fehlschlagen, Quelle, Ergebnisse, Erstellungszeit, Images und mehr.

Öffnen Sie zum Anzeigen des Menüs Build-Verlauf die Seite Build-Verlauf in der Google Cloud Console:

Zur Seite "Build-Verlauf"

Die Seite Build-Verlauf wird eingeblendet. Sie enthält eine Liste Ihrer letzten Builds.

Wählen Sie oben auf der Seite im Drop-down-Menü Region die Region aus, nach der Sie filtern möchten, um Builds nach Region zu filtern. Sie können nur regionale Builds filtern, die mit Cloud Functions-Bereitstellungen verknüpft sind.

Verwenden Sie zum Filtern von Builds das Textfeld Builds filtern oben auf der Seite oder geben Sie eine manuelle Anfrage ein.

Verwenden Sie die Spaltenauswahl , um weitere Spalten wie Triggerbeschreibung und Artefakte zu sehen.

Wenn Sie Details zu einem bestimmten Build aufrufen möchten, klicken Sie auf Build-Verlauf und anschließend auf einen bestimmten Build. Die Seite Build-Details wird mit der Build-Zusammenfassung für Ihren Build angezeigt. Die Build-Zusammenfassung umfasst:

  • Build-Log ist das Log Ihres Builds.
  • Ausführungsdetails beschreiben die Details Ihres Builds einschließlich der Umgebungsvariablen und Substitutionen.
  • Build-Artefakte sind die Artefakte Ihres Builds wie Container-Images, Build-Logs oder Binärdateien.

Sie können das Build-Log oder die Ausführungsdetails eines Build-Schritts aufrufen, indem Sie den Schritt in der Tabelle Schritte links auswählen.

gcloud

Der Befehl gcloud builds list zeigt Ihre gesamten Builds an.

Führen Sie den folgenden Befehl aus, um sich Ihre Builds anzusehen:

gcloud builds list

Die Ausgabe sollte in etwa so aussehen:

ID                                    CREATE_TIME                DURATION  SOURCE                                                                                      IMAGES                                              STATUS
3a2055bc-ccbd-4101-9434-d376b88b8940  2018-02-16T18:33:26+00:00  23S       gs://gcb-docs-project_cloudbuild/source/1518806004.25-db1e250a7b7f496eb8242bfee5ac308e.tgz  gcr.io/gcb-docs-project/quickstart-image (+1 more)  SUCCESS
900704ca-7a0c-4569-ac08-884593c19aac  2018-02-16T18:32:32+00:00            gs://gcb-docs-project_cloudbuild/source/1518805951.23-03dd53d16f684c568fa2bb7ff7ebda06.tgz  -                                                   FAILURE
021f9ede-ddaa-4cfb-8988-60142b015ebd  2018-02-14T15:48:44+00:00  10S       gs://gcb-docs-project_cloudbuild/source/1518623322.56-9cd088ffc1e04f5aa6040728772d0c2a.tgz  -                                                   SUCCESS
8126d538-3c43-4304-a14c-33aceec8cb97  2018-02-14T15:46:13+00:00  10S       gs://gcb-docs-project_cloudbuild/source/1518623172.09-327c02585a4e44e782ac97dd80d5a5d5.tgz  gcr.io/gcb-docs-project/quickstart-image (+1 more)  SUCCESS

Führen Sie den folgenden Befehl aus, um sich Details zu einem bestimmten Build anzusehen:

gcloud builds describe [BUILD_ID]

Dabei ist [BUILD_ID] die ID des Builds, für den Sie Details abrufen möchten.

Die Ausgabe sollte in etwa so aussehen:

createTime: '2018-02-22T14:49:54.066666971Z'
finishTime: '2018-02-22T14:50:05.463758Z'
id: bcdb9c48-d92c-4489-a3cb-08d0f0795a0b
images:
- gcr.io/gcb-docs-project/quickstart-image
logUrl: https://console.cloud.google.com/cloud-build/builds/bcdb9c48-d92c-4489-a3cb-08d0f0795a0b?project=gcb-docs-project
logsBucket: gs://404889597380.cloudbuild-logs.googleusercontent.com
projectId: gcb-docs-project
results:
    buildStepImages:
    - sha256:a4363bc75a406c4f8c569b12acdd86ebcf18b6004b4f163e8e6293171462a79d
    images:
    - digest: sha256:1b2a237e74589167e4a54a8824f0d03d9f66d3c7d9cd172b36daa5ac42e94eb9
      name: gcr.io/gcb-docs-project/quickstart-image
      pushTiming:
          endTime: '2018-02-22T14:50:04.731919081Z'
          startTime: '2018-02-22T14:50:00.874058710Z'
      - digest: sha256:1b2a237e74589167e4a54a8824f0d03d9f66d3c7d9cd172b36daa5ac42e94eb9
        name: gcr.io/gcb-docs-project/quickstart-image:latest
        pushTiming:
            endTime: '2018-02-22T14:50:04.731919081Z'
            startTime: '2018-02-22T14:50:00.874058710Z'
source:
    storageSource:
        bucket: gcb-docs-project_cloudbuild
        generation: '1519310993665963'
        object: source/1519310992.2-8465b08c79e14e89bee09adc8203c163.tgz
sourceProvenance:
    fileHashes:
        gs://gcb-docs-project_cloudbuild/source/1519310992.2-8465b08c79e14e89bee09adc8203c163.tgz#1519310993665963:
        fileHash:
        - value: -aRYrWp2mtfKhHSyWn6KNQ==
    resolvedStorageSource:
        bucket: gcb-docs-project_cloudbuild
        generation: '1519310993665963'
        object: source/1519310992.2-8465b08c79e14e89bee09adc8203c163.tgz
startTime: '2018-02-22T14:49:54.966308841Z'
status: SUCCESS
steps:
- args:
  - build
  - --no-cache
  - -t
  - gcr.io/gcb-docs-project/quickstart-image
  - .
  name: gcr.io/cloud-builders/docker
  status: SUCCESS
  timing:
      endTime: '2018-02-22T14:50:00.813257422Z'
      startTime: '2018-02-22T14:50:00.102600442Z'
timeout: 600s
timing:
    BUILD:
        endTime: '2018-02-22T14:50:00.873604173Z'
        startTime: '2018-02-22T14:50:00.102589403Z'
    FETCHSOURCE:
        endTime: '2018-02-22T14:50:00.087286880Z'
        startTime: '2018-02-22T14:49:56.962717504Z'
    PUSH:
        endTime: '2018-02-22T14:50:04.731958202Z'
        startTime: '2018-02-22T14:50:00.874057159Z'

Schrittstatus und Build-Status

Sobald ein Build abgeschlossen ist, stellt Cloud Build einen allgemeinen status für den Build und einen status für jeden einzelnen Build-Schritt bereit.

In der folgenden Tabelle sind die Status aufgeführt, die vorkommen können, wenn ein Build oder ein Schritt erfolgreich ist, das Zeitlimit überschreitet oder fehlschlägt:

Ereignis Build-Status Schrittstatus
Build erfolgreich SUCCESS Alle Schritte sind mit SUCCESS markiert.
Build schlägt fehl FAILURE
  • Der fehlgeschlagene Schritt ist mit FAILED markiert.
  • Schritte, die vor der Beendigung des Builds erfolgreich waren, sind mit SUCCESS markiert.
  • Schritte, mit deren Ausführung schon begonnen wurde, sind mit CANCELLED markiert.
  • Schritte, deren Ausführung nicht gestartet wurde, sind mit QUEUED markiert.
Build wird vom Nutzer abgebrochen CANCELLED
  • Schritte, die vor dem Abbruch des Builds erfolgreich waren, sind mit SUCCESS markiert.
  • Schritte, mit deren Ausführung schon begonnen wurde, sind mit CANCELLED markiert.
  • Schritte, deren Ausführung nicht gestartet wurde, sind mit QUEUED markiert.
Build überschreitet Zeitlimit TIMEOUT
  • Schritte, die vor der Zeitüberschreitung des Builds erfolgreich waren, sind mit SUCCESS markiert.
  • Schritte, mit deren Ausführung schon begonnen wurde, sind mit CANCELLED markiert.
  • Schritte, deren Ausführung nicht gestartet wurde, sind mit QUEUED markiert.
Schritt überschreitet Zeitlimit FAILED
  • Der Schritt, der das Zeitlimit überschritten hat, ist mit TIMEOUT markiert.
  • Schritte, die erfolgreich waren, bevor der entsprechende Schritt das Zeitlimit überschritt, sind mit SUCCESS markiert.
  • Schritte, mit deren Ausführung schon begonnen wurde, sind mit CANCELLED markiert.
  • Schritte, deren Ausführung nicht gestartet wurde, sind mit QUEUED markiert.

Führen Sie den Befehl gcloud builds describe aus, damit Ihnen der Status für die einzelnen Schritte und für den Build angezeigt wird:

gcloud builds describe [BUILD_ID]

Dabei ist [BUILD_ID] die ID des Builds.

Das folgende Snippet zeigt den schrittspezifischen Status aus einem Build, wenn ein Schritt das Zeitlimit überschreitet:

status: FAILURE
steps:
- args:
  - sleep
  - '60'
id: long sleep
name: alpine
status: CANCELLED
timing:
    endTime: '2018-02-26T14:09:18.531368493Z'
    startTime: '2018-02-26T14:09:11.023235026Z'
waitFor:
- '-'
- args:
- sleep
- '3'
id: shorty
name: alpine
status: SUCCESS
timeout: 60s
timing:
    endTime: '2018-02-26T14:09:15.497724138Z'
    startTime: '2018-02-26T14:09:11.023676903Z'
waitFor:
- '-'
- args:
  - sleep
  - '60'
name: alpine
status: TIMEOUT
timeout: 3s
timing:
    endTime: '2018-02-26T14:09:18.527488475Z'
    startTime: '2018-02-26T14:09:15.497736775Z'
waitFor:
- shorty
- args:
  - 'false'
name: alpine
status: QUEUED
waitFor:
- long sleep
timeout: 60s

Build-Ergebnisse mithilfe von Abfragen filtern

Zum Finden von Informationen zu Builds, die bestimmten Kriterien entsprechen, geben Sie einen Abfragestring im Feld Builds filtern auf der Seite Build-Verlauf in der Google Cloud Console ein. Sie können damit beispielsweise Builds abfragen, die fehlgeschlagen sind (und im Statusfeld den Wert FAILURE enthalten), nach einem bestimmten Zeitpunkt erstellt wurden, getaggt sind usw.

Unterstützte Felder für Abfragen

Sie können Builds anhand der Werte der folgenden Felder abfragen:

  • status
  • build_id
  • trigger_id
  • source.storage_source.bucket
  • source.storage_source.object
  • source.repo_source.repo_name
  • source.repo_source.branch_name
  • source.repo_source.tag_name
  • source.repo_source.commit_sha
  • source_provenance.resolved_repo_source.commit_sha
  • results.images.name
  • results.images.digest
  • options.requested_verify_option
  • tags
  • images
  • create_time
  • start_time
  • finish_time

Felder mit einem Punkt (.) sind untergeordnete Felder.

Abfragestring erstellen

Abfragestrings sehen generell so aus:

field="value"

Benutzen Sie Punkte, um ein untergeordnetes Feld zu definieren, z. B. results.images.name. Abfragen unterstützen die Vergleichsoperatoren = und != sowie >, >=, < und <= für Felder mit numerischen Werten (wie create_time).

Sie können kumulierende Abfragen erstellen, indem Sie die booleschen Ausdrücke AND und OR verwenden.

Beispiele für häufige Abfragen

So fragen Sie alle erfolgreichen Builds ab:

status="SUCCESS"

So fragen Sie alle Builds ab, die noch nicht abgeschlossen sind:

status="QUEUED" OR status="WORKING"

So fragen Sie Builds ab, die bei Fertigstellung einen angegebenen Image-Namen haben:

(status="SUCCESS" OR status="FAILURE") AND \
    results.images.name="gcr.io/my-project/my-image"

So rufen Sie alle Builds mit dem Tag "prod" ab:

tags="prod"

So fragen Sie Builds ab, die als überprüft markiert wurden:

options.requested_verify_option="VERIFIED"

So fragen Sie Builds ab, die aus einer Quelle in Cloud Storage (statt aus einem Cloud Source Repository) stammen:

source.storage_source.bucket!=""

So fragen Sie Builds ab, die bei Fertigstellung ein angegebenes Digest haben:

results.images.digest="sha256:6c7147fe4c813845ac2a9aa6f937bb272b68784f647c4f64c7325723c7245c88"

So fragen Sie Builds ab, die nach einem bestimmten Zeitpunkt gestartet und vor einem bestimmten Zeitpunkt beendet wurden (UTC-Zeitzone):

create_time>"2016-10-12T18:43:49+00:00" AND finish_time<"2016-10-13T18:43:49+00:00"

Build-Ergebnisse mit Tags filtern

Mit Tags in Ihren Konfigurationsdateien können Sie Builds in Gruppen organisieren und filtern. Sie können Strings in Tags angeben, z. B. "prod" oder "test".

Für Tags gelten folgende Einschränkungen:

  • Tags dürfen maximal 128 Zeichen lang sein.
  • Sie können maximal 64 Tags pro Build definieren.
  • Tags können Buchstaben, Zahlen und Unterstriche an beliebiger Position des Strings enthalten.
  • Tags können Punkte und Bindestriche an jeder Position außer der ersten Position des Strings enthalten.

So fügen Sie Tags zu Ihrem Build hinzu:

  1. Fügen Sie in Ihre Build-Konfigurationsdatei das Feld tags ein:

    steps:
    - name: 'gcr.io/cloud-builders/docker'
      args: [ 'build', '-t', 'gcr.io/$PROJECT_ID/cb-demo-img', '.' ]
    images:
    - 'gcr.io/$PROJECT_ID/cb-demo-img'
    tags:
    - 'test1'
    - 'test2'
    
  2. Verwenden Sie die Option --filter in gcloud builds list, um getaggte Builds in Ihrem Cluster anzuzeigen Sie können Builds filtern, wenn Sie ein einzelnes Tag oder mehrere Tags angeben.

    • Wenn Sie Builds nach einem einzelnen Tag filtern möchten, geben Sie das Tag als String im Feld tags an. Mit dem folgenden Befehl werden alle mit 'test1' getaggten Builds aufgelistet:

       gcloud builds list --filter "tags='test1'"
      
    • Wenn Sie Builds nach mehreren Tags filtern möchten, verwenden Sie "AND", "OR" oder "NOT" zur Auflistung der Tags. Mit dem folgenden Befehl werden alle Builds aufgelistet, die mit 'test1' oder 'test2' und mit 'test3' getaggt sind:

       gcloud builds list --filter "tags=('test1' OR 'test2') AND 'test3'"
      

    Die Ausgabe nach der Ausführung dieser Befehle sollte in etwa so aussehen:

    ID                                    CREATE_TIME                DURATION  SOURCE                                                                             IMAGES                                 STATUS
    d33a9895-...                          ...                        1M45S     gs://...                                                                           gcr.io/...                             SUCCESS
    

Build-Ergebnisse für Build-Trigger aufrufen

Das Cloud Build-Dashboard bietet eine allgemeine Übersicht über die neuesten Builds für jeden Build-Trigger.

Das Dashboard ist nach Karten organisiert, wobei jede Karte mit einem Build-Trigger in Ihrem Repository verknüpft ist. Wenn mehrere Trigger in einem einzelnen Repository erstellt werden, gibt es mehrere Karten. Diese Karten sind alphabetisch nach dem Namen Ihres Repositorys sortiert, gefolgt vom Triggernamen. Sie können jede Karte oben auf der Seite anheften, indem Sie mit der Maus über die rechte Seite der Karte fahren und wie im Beispiel unten auf das Stecknadelsymbol klicken:

Screenshot einer Beispielkarte im Dashboard

Die Karten werden nach den neuesten Ergebnissen des Builds betitelt, z. B. Erfolgreich oder Fehler. Der Name des Repositorys und der Triggername folgen dem Resultat des letzten Ergebnisses. Unter dem Titel fasst die Karte die Ergebnisse der letzten Builds zusammen.

Das Dashboard anzeigen

Das Cloud Build-Dashboard wird ausgefüllt, wenn Sie Build-Trigger eingerichtet haben. Weitere Informationen zum Einrichten von Build-Triggern erhalten Sie unter Build-Trigger erstellen und verwalten.

So rufen Sie das Cloud Build-Dashboard auf:

  1. Rufen Sie die Cloud Build-Dashboard-Seite auf:

    Cloud Build-Dashboard-Seite öffnen

  2. Wählen Sie Ihr Projekt im Drop-down-Menü aus.

Das Cloud Build-Dashboard zeigt nun die neuesten Builds für Ihre Build-Trigger an.

Das Cloud Build-Dashboard zeigt die folgenden Informationen an:

  • Neuester Build: Datum und Uhrzeit Ihres letzten Builds.

  • Dauer: Die Dauer Ihres letzten Builds im Format HH:MM:SS.

  • Quelle: Verweist auf Ihr verbundenes Quell-Repository. Das Quell-Repository kann entweder ein Cloud Source-Repository, ein GitHub-Repository oder ein Bitbucket-Repository sein.

  • Commit: Verknüpft das Commit, das für den Build verwendet wurde.

  • Fehlgeschlagener Schritt: Der fehlgeschlagene Schritt, der zu einem Build-Fehler geführt hat, falls der letzte Build fehlgeschlagen ist.

    Wenn der letzte Build fehlgeschlagen ist, wird Fehlgeschlagener Schrittim Build-Log auf den Schritt verweisen, der den Fehler verursacht hat.

  • Build-Verlauf: Ein Balkendiagramm, das die Build-Dauer der 20 neuesten Builds darstellt. Sie können die Maus über jeden Balken im Balkendiagramm bewegen, um Informationen zu jedem einzelnen Build einzusehen.

  • Durchschnittliche Dauer: Die durchschnittliche Laufzeit Ihrer letzten 20 Builds, ohne die Builds, die noch ausgeführt werden.

    Wenn die durchschnittliche Dauer der Erstellung 10 Minuten überschreitet und der Maschinentyp den Sie für Ihren Build angegeben haben, E2_MEDIUM .E2_HIGHCPU_8 oderN1_HIGHCPU_8 sehen, sehen SieGESCHWINDIGKEIT OPTIMIEREN Schaltfläche Sie können auf SPEED OPTIMIEREN klicken, um Empfehlungen zur Verbesserung der Geschwindigkeit Ihres Builds zu erhalten. Weitere Informationen finden Sie unter Best Practices zur Beschleunigung von Builds.

  • Bestanden/Nicht bestanden %: Das durchschnittliche Verhältnis von bestanden/nicht bestanden Ihrer letzten 20 Builds.

Karten filtern

Zum Filtern von Karten in Ihrem Dashboard klicken Sie oben auf der Cloud Build-Dashboard-Seite auf die Option Trigger filtern:

Screenshot der Eingabeaufforderung von Filtertriggern

Sie können Karten nach folgenden Kriterien filtern:

  • Triggerquelle: Der Name des Quell-Repositorys.
  • Triggername: Der Name des Triggers.
  • Triggerbeschreibung: Die Beschreibung Ihres Triggers.

Nächste Schritte