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 di riga di comando di questa guida, installa lo strumento a riga di comando gcloud
.
Visualizza risultati build
Per visualizzare i log di build, le entità richiedono uno dei seguenti ruoli IAM oltre alle autorizzazioni IAM di Cloud Build:
Se i log di build si trovano nel bucket Cloud Storage predefinito, concedi il ruolo Progetto > Visualizzatore.
Se i log delle build si trovano in un bucket Cloud Storage specificato dall'utente, concedi il ruolo Visualizzatore oggetti Storage.
Per ulteriori informazioni sulle autorizzazioni necessarie per visualizzare i log di build in Cloud Build, GitHub o GitHub Enterprise dopo la creazione dei trigger, consulta Visualizzazione dei log delle build.
Console
Nella console Google Cloud, il menu Cronologia build può mostrare informazioni sullo stato di una build (ad esempio operazione riuscita o non riuscita), origine, risultati, ora di creazione, immagini e altro ancora.
Per visualizzare il menu Cronologia build, apri la pagina Cronologia build nella console Google Cloud:
Apri la pagina Cronologia build
Viene visualizzata la pagina Cronologia build, che mostra un elenco delle build recenti.
Per filtrare le build per regione, usa il menu a discesa Regione nella parte superiore della pagina per scegliere la regione in base alla quale vuoi filtrare.
Puoi anche filtrare le build utilizzando la casella di testo Filtra build nella parte superiore della pagina o inserendo una query manualmente.
Per visualizzare colonne aggiuntive, come Descrizione trigger e Artefatti, utilizza il selettore di colonne
.Per visualizzare i dettagli di una build specifica, vai a Cronologia build e fai clic su una build specificata. Viene visualizzata la pagina Dettagli build, con il Riepilogo build per la tua build. Il riepilogo build include:
- Log di build, il log della build.
- Dettagli esecuzione, ovvero i dettagli della build, incluse le variabili di ambiente e le sostituzioni.
- Gli artefatti di build, ovvero gli artefatti della tua build, come immagini container, log di build o programmi binari.
Puoi visualizzare il log di build o i dettagli dell'esecuzione specifici di un passaggio di build selezionando il passaggio nella tabella Passaggi a sinistra.
gcloud
Il comando gcloud builds list
visualizza tutte le build.
Per visualizzare le build, esegui questo comando:
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 us-east1-docker.pkg.dev/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 us-east1-docker.pkg.dev/gcb-docs-project/quickstart-image (+1 more) SUCCESS
Per visualizzare i dettagli di una build specifica, esegui questo comando:
gcloud builds describe [BUILD_ID]
dove [COSTRUISCI_ID] è l'ID della build di cui vuoi ottenere i 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:
- us-east1-docker.pkg.dev/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: us-east1-docker.pkg.dev/gcb-docs-project/quickstart-image
pushTiming:
endTime: '2018-02-22T14:50:04.731919081Z'
startTime: '2018-02-22T14:50:00.874058710Z'
- digest: sha256:1b2a237e74589167e4a54a8824f0d03d9f66d3c7d9cd172b36daa5ac42e94eb9
name: us-east1-docker.pkg.dev/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
- us-east1-docker.pkg.dev/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 del passaggio e stato della build
Una volta completata una build, Cloud Build fornisce un elemento status
complessivo per la build e un elemento status
per ogni singolo passaggio di build.
La tabella seguente riassume gli stati relativi all'esito positivo di una build o a un passaggio, al timeout o all'esito negativo:
Evento | Stato build | Stato passaggio |
---|---|---|
Creazione riuscita | SUCCESS
| Tutti i passaggi sono contrassegnati come SUCCESS . |
La build è riuscita, sono consentiti passaggi non riusciti | SUCCESS
|
|
Creazione non riuscita | FAILURE
|
|
La build è stata annullata dall'utente | CANCELLED
|
|
Timeout della build | TIMEOUT |
|
Timeout del passo | FAILED |
|
Per visualizzare lo stato dei singoli passaggi e della build, esegui il comando gcloud builds describe
:
gcloud builds describe [BUILD_ID]
dove [COSTRUISCI_ID] è l'ID della build.
Lo snippet seguente mostra lo stato dei singoli passaggi di una build con un passaggio di timeout:
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 della
console Google Cloud. Ad esempio, puoi eseguire query per le build che non sono andate a buon fine (che hanno un valore FAILURE
nel campo dello stato), le build create dopo un determinato periodo di tempo, le build con tag e altre condizioni simili.
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 dei punti (.
) sono campi secondari.
Costruzione di una stringa di query
Le stringhe di query utilizzano il formato generale:
field="value"
Utilizza la notazione dei punti per specificare un campo secondario, ad esempio results.images.name
. Le query supportano gli operatori di confronto =
e !=
, nonché >
, >=
, <
e <=
per i campi che hanno 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 per tutte le build riuscite:
status="SUCCESS"
Per eseguire una query su tutte le build non ancora completate:
status="QUEUED" OR status="WORKING"
Per eseguire una query sulle build con un determinato nome immagine risultato:
(status="SUCCESS" OR status="FAILURE") AND \
results.images.name="us-east1-docker.pkg.dev/my-project/my-image"
Per eseguire una query su tutte le build con il tag "prod"
:
tags="prod"
Per eseguire query sulle build contrassegnate come verificate:
options.requested_verify_option="VERIFIED"
Per eseguire query sulle build che provengono da un'origine in Cloud Storage (anziché da un repository di codice sorgente Cloud):
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 orario specifico e terminate prima di un orario specifico (fuso orario UTC):
create_time>"2016-10-12T18:43:49+00:00" AND finish_time<"2016-10-13T18:43:49+00:00"
Filtra i risultati della build utilizzando i tag
Puoi utilizzare i tag nei file di configurazione per organizzare le build in gruppi e filtrarle. Puoi specificare le stringhe nei tag, ad esempio
"prod"
o "test"
.
I tag presentano le seguenti limitazioni:
- Ogni tag ha un limite 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 build:
Nel file di configurazione della build, aggiungi il campo
tags
:steps: - name: 'gcr.io/cloud-builders/docker' args: [ 'build', '-t', 'us-east1-docker.pkg.dev/$PROJECT_ID/cb-demo-img', '.' ] images: - 'us-east1-docker.pkg.dev/$PROJECT_ID/cb-demo-img' tags: - 'test1' - 'test2'
Per visualizzare le build con tag nel tuo cluster, utilizza l'opzione
--filter
ingcloud 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", "OR" o "NOT" per elencare i tag. Il seguente comando elenca tutte le build taggate con
'test1'
o'test2'
e con'test3'
:gcloud builds list --filter "tags=('test1' OR 'test2') AND 'test3'"
Dopo aver eseguito questi comandi, vedrai un output simile al seguente:
ID CREATE_TIME DURATION SOURCE IMAGES STATUS d33a9895-... ... 1M45S gs://... us-east1-docker.pkg.dev/... SUCCESS
Passaggi successivi
- Scopri come visualizzare i risultati della build per i trigger di build.
- Scopri come visualizzare gli approfondimenti sulla sicurezza delle build.
- Scopri come risolvere gli errori di generazione.