Visualizzazione dei risultati della build

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Questa pagina spiega come visualizzare le informazioni sulle build di Cloud Build utilizzando la console Google Cloud, lo strumento a riga di comando gcloud e l'API Cloud Build.

Prima di iniziare

Se vuoi utilizzare gli esempi a riga di comando in questa guida, installa lo strumento a riga di comando gcloud.

Visualizzazione dei risultati della build

Per visualizzare i log di build, le entità richiedono uno dei seguenti ruoli IAM oltre alle autorizzazioni IAM di Cloud Build:

Per maggiori informazioni sulle autorizzazioni necessarie per visualizzare i log di build in Cloud Build, GitHub o GitHub Enterprise dopo la creazione dei trigger, consulta la sezione Visualizzare i log di build.

console

Nella console di Google Cloud, il menu Cronologia build può mostrare informazioni sullo stato di una build (ad esempio, operazione riuscita o non riuscita), origine, risultati, data e ora di creazione, immagini e altro.

Per visualizzare il menu Cronologia build, apri la pagina Cronologia build in Google Cloud Console:

Apri la pagina Cronologia build

Viene visualizzata la pagina Cronologia build, che mostra un elenco delle tue build recenti.

Per filtrare le build in base alla regione, utilizza il menu a discesa Regione nella parte superiore della pagina per scegliere la regione in base alla quale filtrare i dati.

Puoi anche filtrare le build utilizzando la casella di testo Filtra build nella parte superiore della pagina o inserendo manualmente una query.

Per visualizzare colonne aggiuntive come Descrizione attivatore e Artefatti, utilizza il selettore di colonne .

Per visualizzare i dettagli di una build specifica, vai alla cronologia build e fai clic su una build specificata. Viene visualizzata la pagina Dettagli build, con il Riepilogo build relativo alla build. Il Riepilogo build include:

  • Log di build: il log della tua build.
  • Dettagli esecuzione, i dettagli della build, tra cui le variabili di ambiente e le sostituzioni.
  • Artefatti build, gli artefatti della build come immagini container, log di build o programmi binari.

Puoi visualizzare il log di build o i dettagli di esecuzione specifici di un passaggio di build selezionando il passaggio nella tabella Steps a sinistra.

gcloud

Il comando gcloud builds list mostra tutte le tue build.

Per visualizzare le build, esegui il comando seguente:

gcloud builds list

Dovresti vedere un output simile al seguente:

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

Per visualizzare i dettagli relativi a una build specifica, esegui il comando seguente:

gcloud builds describe [BUILD_ID]

dove [BUILD_ID] è l'ID della build per il quale vuoi ottenere dettagli.

Dovresti vedere un output simile al seguente:

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'

Stato dei passaggi e stato della build

Al termine di una build, Cloud Build fornisce un status complessivo per la build e un status per ogni singolo passaggio della build.

La tabella seguente riassume gli stati quando una build o un passaggio hanno esito positivo, scade o non riesce:

Evento Stato build Stato passaggio
Creazione riuscita SUCCESS Tutti i passaggi sono contrassegnati come SUCCESS.
Creazione non riuscita FAILURE
  • Il passaggio non riuscito è contrassegnato come FAILED.
  • I passaggi riusciti prima del termine della build sono contrassegnati come SUCCESS
  • I passaggi nel corso dell'esecuzione sono contrassegnati come CANCELLED.
  • I passaggi non avviati sono contrassegnati come QUEUED.
La build è stata annullata dall'utente CANCELLED
  • I passaggi riusciti prima dell'annullamento della build sono contrassegnati come SUCCESS
  • I passaggi nel corso dell'esecuzione sono contrassegnati come CANCELLED.
  • I passaggi che non hanno iniziato a essere eseguiti sono contrassegnati come QUEUED.
Timeout build TIMEOUT
  • I passaggi riusciti prima del timeout della build sono contrassegnati come SUCCESS
  • I passaggi nel corso dell'esecuzione sono contrassegnati come CANCELLED.
  • I passaggi che non hanno iniziato a essere eseguiti sono contrassegnati come QUEUED.
Timeout FAILED
  • Il passaggio scaduto è contrassegnato come TIMEOUT
  • I passaggi completati prima del timeout sono contrassegnati come SUCCESS
  • I passaggi nel corso dell'esecuzione sono contrassegnati come CANCELLED.
  • I passaggi che non hanno iniziato a essere eseguiti sono contrassegnati come QUEUED.

Per visualizzare lo stato di ogni passaggio e build, esegui il comando gcloud builds describe:

gcloud builds describe [BUILD_ID]

dove [BUILD_ID] è l'ID della build.

Lo snippet che segue mostra lo stato per ogni passaggio di una build con un timeout scaduto:

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

Filtrare i risultati della build utilizzando le query

Per trovare informazioni sulle build che soddisfano criteri specifici, fornisci una stringa di query nel campo Filtra build nella pagina Cronologia build di Google Cloud Console. Ad esempio, puoi eseguire query sulle build non riuscite (con un valore FAILURE nel campo di stato), sulle build create dopo un determinato periodo di tempo, sulle build taggate e su altre condizioni di questo tipo.

Campi supportati per le query

Puoi eseguire query sulle build in base ai valori dei seguenti campi:

  • 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

I campi elencati con la notazione con punto (.) sono sottocampi.

Creare una stringa di query

Le stringhe di query utilizzano il formato generale:

field="value"

Utilizza la notazione a punti per specificare un sottocampo, ad esempio results.images.name. Le query supportano gli operatori di confronto = e !=, nonché >, >=, < e <= per i campi con valori numerici (ad esempio create_time).

Puoi creare query composte utilizzando le espressioni booleane AND e OR.

Esempi di query comuni

Per eseguire una query su tutte le build riuscite:

status="SUCCESS"

Per eseguire una query su tutte le build che devono ancora essere completate:

status="QUEUED" OR status="WORKING"

Per eseguire query sulle build con un determinato nome di immagine dei risultati:

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

Per eseguire una query su tutte le build con il tag "prod":

tags="prod"

Per eseguire una query sulle build contrassegnate come verificate:

options.requested_verify_option="VERIFIED"

Per eseguire query su build provenienti da un'origine in Cloud Storage (anziché da un repository Cloud Source):

source.storage_source.bucket!=""

Per eseguire query sulle build con un determinato digest dei risultati:

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

Per eseguire una query sulle build avviate dopo un'ora specifica e terminate prima di un'ora specifica (fuso orario UTC):

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

Filtrare i risultati della build utilizzando i tag

Puoi utilizzare i tag nei file di configurazione, che consentono di organizzare le build in gruppi e di filtrarle. Puoi specificare le stringhe nei tag, ad esempio "prod" o "test".

I tag presentano le seguenti limitazioni:

  • Il limite di caratteri di ogni tag è di 128 caratteri
  • Puoi definire un massimo di 64 tag per build
  • I tag possono contenere lettere, numeri e trattini bassi in qualsiasi posizione della stringa.
  • I tag possono contenere punti e trattini in qualsiasi posizione ad eccezione della prima posizione della stringa.

Per aggiungere tag alla tua build:

  1. Nel file di configurazione della build, aggiungi il campo tags:

    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. Per visualizzare le build taggate nel cluster, utilizza l'opzione --filter in gcloud builds list. Puoi filtrare le build specificando uno o più tag.

    • Per filtrare le build in base a un singolo tag, specifica il tag come stringa nel campo tags. Il seguente comando elenca tutte le build taggate con 'test1':

       gcloud builds list --filter "tags='test1'"
      
    • Per filtrare le build in base a più tag, utilizza "AND" o "OR" oppure "NOT" per elencare i tag. Il comando seguente elenca tutte le build taggate con 'test1' o 'test2' e contrassegnate con 'test3':

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

    Verrà visualizzato un output simile al seguente dopo aver eseguito questi comandi:

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

Visualizzazione dei risultati della build per i trigger di build

La dashboard di Cloud Build fornisce una panoramica di alto livello delle build più recenti per ogni trigger di build.

La dashboard è organizzata per schede e ogni scheda è associata a un trigger di build nel tuo repository. Se in un singolo repository sono creati più trigger, ci saranno più schede. Queste schede sono in ordine alfabetico in base al nome del repository seguito dal nome del trigger. Puoi anche bloccare una scheda nella parte superiore della pagina passando il mouse sopra il lato destro della scheda e facendo clic sull'icona a forma di puntina come indicato nell'esempio seguente:

Screenshot di una scheda di esempio nella dashboard

alle schede vengono usati gli ultimi risultati della build, ad esempio Operazione riuscita o Non riuscita. Il nome del repository e il nome del trigger seguono il risultato dell'ultimo risultato. Sotto il titolo, la scheda riassume i risultati relativi alle tue build più recenti.

Visualizzare la dashboard

La dashboard di Cloud Build viene compilata se sono impostati trigger di build. Per saperne di più su come configurare i trigger di build, consulta Creazione e gestione dei trigger di build.

Per visualizzare la dashboard di Cloud Build:

  1. Vai alla pagina della dashboard di Cloud Build:

    Apri la pagina della dashboard di Cloud Build

  2. Seleziona il progetto nel menu a discesa.

Verrà visualizzata la dashboard di Cloud Build che elenca le build recenti per i tuoi trigger di build.

La dashboard di Cloud Build mostra le seguenti informazioni:

  • Ultima build: la data e l'ora dell'ultima build.

  • Durata: la durata della build più recente in formato HH:MM:SS.

  • Origine: link al repository di codice sorgente connesso. Il repository di origine può essere un repository Cloud Source Repositories, un repository GitHub o un repository Bitbucket.

  • Commit: i link al commit utilizzato per la build.

  • Passaggio non riuscito: il passaggio non riuscito che ha avuto esito negativo se la build più recente non è riuscita.

    Se la build più recente non è riuscita, il passaggio non riuscito si collega al passaggio che ha causato l'errore nel log di build.

  • Cronologia build: un grafico a barre che mostra la durata delle build delle 20 build più recenti. Puoi passare il mouse sopra ogni barra del grafico a barre per visualizzare informazioni su ogni singola build.

  • Durata media: il tempo di esecuzione medio delle tue 20 build più recenti, escluse le build ancora in esecuzione.

    Se la durata media della build supera i 10 minuti e il tipo di macchina specificato per la build è E2_MEDIUM, E2_HIGHCPU_8 o N1_HIGHCPU_8, viene visualizzato il pulsante MIGLIORA VELOCITÀ. Puoi fare clic su MIGLIORA LA VELOCITÀ per visualizzare consigli su come migliorare la velocità della build. Per scoprire di più, consulta le best practice per velocizzare le build.

  • Pass - Non riuscito %: il rapporto medio di pass/fail delle tue 20 build più recenti.

Filtri per schede

Per filtrare le schede nella dashboard, fai clic sull'opzione Filtra trigger nella parte superiore della pagina della dashboard di Cloud Build:

Screenshot della richiesta di attivazione dei filtri

Puoi filtrare le schede in base a:

  • Origine trigger: il nome del repository di origine.
  • Nome attivatore: il nome dell'attivatore.
  • Descrizione dell'attivatore: la descrizione dell'attivatore.

Passaggi successivi