Cette page explique comment afficher des informations sur votre instance Cloud Build
à l'aide de la console Google Cloud, de l'outil de ligne de commande gcloud
et de l'API
API Cloud Build.
Avant de commencer
Si vous voulez utiliser les exemples de ligne de commande de ce guide, installez l'outil de ligne de commande gcloud
.
Afficher les résultats de compilation
Pour afficher les journaux de compilation, les comptes principaux nécessitent l'un des rôles IAM suivants en plus des autorisations IAM Cloud Build :
Si vos journaux de compilation se trouvent dans le bucket Cloud Storage par défaut, attribuez le rôle Projet > Lecteur.
Si vos journaux de compilation se trouvent dans un bucket Cloud Storage spécifié par l'utilisateur, accordez le rôle Lecteur des objets de l'espace de stockage.
Pour en savoir plus sur les autorisations nécessaires pour afficher les journaux de compilation dans Cloud Build ou GitHub ou GitHub Enterprise après la création d'un déclencheur, consultez la section Afficher les journaux de compilation.
Console
Dans la console Google Cloud, le menu Historique de compilation vous indique des informations sur l'état d'une compilation (comme la réussite ou l'échec), la source, les résultats, la création, les images, etc.
Pour afficher le menu Historique de compilation, ouvrez la page Historique de compilation dans la console Google Cloud:
Ouvrir la page Historique de compilation
La page Historique de compilation s'affiche. Elle contient une liste de vos dernières compilations.
Pour filtrer les compilations par région, utilisez le menu déroulant Région situé en haut de la page pour choisir la région selon laquelle filtrer.
Vous pouvez également filtrer les builds à l'aide de la zone de texte Filtrer les builds située en haut de la page ou en saisissant une requête manuellement.
Pour afficher des colonnes supplémentaires telles que Description du déclencheur et Artefacts, utilisez le sélecteur de colonne
.Pour afficher les détails d'une compilation spécifique, accédez à l'Historique de compilation et cliquez sur une compilation spécifique. La page Informations sur le build s'affiche, avec le Résumé de la compilation propre à votre compilation. Le Résumé de la compilation comprend les éléments suivants :
- Le journal de compilation, qui est le journal de votre compilation.
- Les détails de l'exécution, qui présentent les détails de votre compilation, y compris vos variables d'environnement et vos substitutions.
- Les artefacts de compilation, qui sont les artefacts de votre compilation, tels que les images de conteneurs, les journaux de compilation ou les binaires.
Vous pouvez afficher le journal de compilation ou les détails de l'exécution propres à l'étape de compilation en la sélectionnant dans le tableau Steps (Étapes) à gauche.
gcloud
La commande gcloud builds list
affiche toutes vos compilations.
Pour afficher vos compilations, exécutez la commande suivante :
gcloud builds list
Un résultat semblable aux lignes suivantes doit s'afficher :
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
Pour afficher les détails d'une compilation spécifique, exécutez la commande suivante :
gcloud builds describe [BUILD_ID]
où [BUILD_ID] est l'ID de la compilation dont vous souhaitez obtenir des détails.
Un résultat semblable aux lignes suivantes doit s'afficher :
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'
État de l'étape et état de la compilation
Une fois la compilation terminée, Cloud Build fournit un état (status
) général pour la compilation et un état (status
) pour chaque étape de la compilation.
Le tableau suivant récapitule les états en cas de réussite, d'expiration ou d'échec d'une compilation ou d'une étape :
Événement | État de la compilation | État de l'étape |
---|---|---|
La compilation réussit | SUCCESS
| Toutes les étapes sont marquées SUCCESS . |
La compilation réussit avec des étapes ayant échoué autorisées | SUCCESS
|
|
La compilation échoue | FAILURE
|
|
La compilation est annulée par l'utilisateur | CANCELLED
|
|
La compilation expire | TIMEOUT |
|
L'étape expire | FAILED |
|
Pour afficher l'état par étape et l'état général de la compilation, exécutez la commande gcloud builds describe
:
gcloud builds describe [BUILD_ID]
où [BUILD_ID] est l'ID de la compilation.
L'extrait de code suivant montre l'état par étape d'une compilation avec une étape expirée :
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
Filtrer les résultats de compilation à l'aide de requêtes
Pour rechercher des informations sur les compilations qui répondent à des critères spécifiques, fournissez une chaîne de requête
dans le champ Filtrer les compilations de la page Historique de compilation de
console Google Cloud. Par exemple, vous pouvez rechercher les compilations qui ont échoué (leur champ état vaut FAILURE
), les compilations créées après une certaine date, les compilations portant certaines balises, et d'autres critères similaires.
Champs pris en charge pour les requêtes
Vous pouvez rechercher des compilations en fonction des valeurs des champs suivants :
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
Les champs répertoriés comportant un point (.
) sont des sous-champs.
Créer une chaîne de requête
Les chaînes de requête utilisent la forme générale :
field="value"
Utilisez la notation par points pour spécifier un sous-champ, tel que results.images.name
. Les requêtes acceptent les opérateurs de comparaison =
et !=
, ainsi que >
, >=
, <
, et <=
pour les champs qui contiennent des valeurs numériques (par exemple create_time
).
Vous pouvez créer des requêtes composées à l'aide des expressions booléennes AND
et OR
.
Exemples de requêtes courantes
Pour rechercher toutes les compilations réussies :
status="SUCCESS"
Pour rechercher toutes les compilations qui ne sont pas encore terminées :
status="QUEUED" OR status="WORKING"
Pour rechercher les compilations avec un nom d'image de résultat donné :
(status="SUCCESS" OR status="FAILURE") AND \
results.images.name="us-east1-docker.pkg.dev/my-project/my-image"
Pour rechercher toutes les compilations avec le tag "prod"
:
tags="prod"
Pour rechercher les compilations marquées comme vérifiées :
options.requested_verify_option="VERIFIED"
Pour rechercher les compilations provenant d'une source de Cloud Storage (par opposition à un dépôt Cloud Source Repositories) :
source.storage_source.bucket!=""
Pour rechercher les compilations avec un récapitulatif des résultats donné :
results.images.digest="sha256:6c7147fe4c813845ac2a9aa6f937bb272b68784f647c4f64c7325723c7245c88"
Pour rechercher les compilations démarrées après une heure spécifique et terminées avant une heure spécifique (fuseau horaire UTC) :
create_time>"2016-10-12T18:43:49+00:00" AND finish_time<"2016-10-13T18:43:49+00:00"
Filtrer les résultats de compilation à l'aide de tags
Vous pouvez utiliser des balises dans vos fichiers de configuration pour regrouper les compilations et filtrer les compilations. Vous pouvez spécifier des chaînes de caractères dans les balises, par exemple "prod"
ou "test"
.
Les balises sont soumises aux limites suivantes :
- La limite de caractères de chaque tag est de 128 caractères
- Une compilation ne peut pas porter plus de 64 balises.
- Les balises peuvent contenir des lettres, des chiffres et des traits de soulignement à n'importe quelle position dans la chaîne.
- Elles peuvent également contenir des points et des tirets, sauf en tête de chaîne.
Pour ajouter des balises à votre compilation, suivez les étapes suivantes :
Dans le fichier de configuration de votre compilation, ajoutez le champ
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'
Pour afficher les compilations portant des balises dans votre cluster, utilisez l'option
--filter
dans la commandegcloud builds list
. Vous pouvez filtrer les compilations en spécifiant une ou plusieurs balises.Pour filtrer les compilations portant une seule balise, spécifiez la balise sous forme de chaîne dans le champ
tags
. La commande suivante répertorie toutes les compilations portant la balise'test1'
:gcloud builds list --filter "tags='test1'"
Pour filtrer les compilations selon plusieurs balises, utilisez "AND", "OR" ou "NOT" pour combiner les balises entre elles. La commande suivante répertorie toutes les compilations portant la balise
'test3'
ainsi que la balise'test1'
ou'test2'
.gcloud builds list --filter "tags=('test1' OR 'test2') AND 'test3'"
Après l'exécution de ces commandes, le résultat qui s'affiche ressemble à :
ID CREATE_TIME DURATION SOURCE IMAGES STATUS d33a9895-... ... 1M45S gs://... us-east1-docker.pkg.dev/... SUCCESS
Étape suivante
- Découvrez comment afficher les résultats des compilations réalisées par les déclencheurs.
- Découvrez comment afficher des insights de sécurité sur les builds.
- Découvrez comment résoudre les erreurs de compilation.