Melihat hasil build

Halaman ini menjelaskan cara melihat informasi tentang build Cloud Build Anda menggunakan konsol Google Cloud, alat command line gcloud, dan Cloud Build API.

Sebelum memulai

Jika Anda ingin menggunakan contoh command line dalam panduan ini, instal alat command line gcloud.

Melihat hasil build

Untuk melihat log build, akun utama memerlukan salah satu peran IAM berikut, selain izin IAM Cloud Build:

Untuk mengetahui informasi selengkapnya tentang izin yang diperlukan untuk melihat log build di Cloud Build atau GitHub atau GitHub Enterprise setelah pembuatan pemicu, lihat Melihat log build.

Konsol

Di konsol Google Cloud, menu Build History dapat menampilkan informasi tentang status build (seperti berhasil atau gagal), sumber, hasil, waktu pembuatan, image, dan lainnya.

Untuk melihat menu Build History, buka halaman Build History di konsol Google Cloud:

Buka halaman Histori Build

Halaman Histori build akan ditampilkan, yang menampilkan daftar build terbaru Anda.

Untuk memfilter build menurut wilayah, gunakan menu drop-down Region di bagian atas halaman untuk memilih wilayah yang ingin Anda filter.

Anda juga dapat memfilter build menggunakan kotak teks Filter builds di bagian atas halaman, atau dengan memasukkan kueri secara manual.

Untuk melihat kolom tambahan seperti Deskripsi pemicu dan Artefak, gunakan pemilih kolom .

Untuk melihat detail tentang build tertentu, buka Histori Build dan klik build yang ditentukan. Halaman Build details akan ditampilkan, dengan Build Summary untuk build Anda. Ringkasan Build mencakup:

  • Build Log, log build Anda.
  • Execution Details, detail build Anda termasuk variabel dan penggantian lingkungan.
  • Artefak Build, artefak build Anda seperti image container, log build, atau biner.

Anda dapat melihat log build atau detail eksekusi khusus untuk langkah build dengan memilih langkah di tabel Steps di sebelah kiri.

gcloud

Perintah gcloud builds list menampilkan semua build Anda.

Untuk melihat build Anda, jalankan perintah berikut:

gcloud builds list

Anda akan melihat output yang mirip dengan berikut ini:

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

Untuk melihat detail tentang build tertentu, jalankan perintah berikut:

gcloud builds describe [BUILD_ID]

dengan [BUILD_ID] adalah ID build yang detailnya ingin Anda dapatkan.

Anda akan melihat output yang mirip dengan berikut ini:

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'

Status langkah dan status build

Setelah build selesai, Cloud Build akan memberikan status secara keseluruhan untuk build dan status untuk setiap langkah build.

Tabel berikut meringkas status saat build atau langkah berhasil, habis waktu tunggu, atau gagal:

Acara Status Build Status Langkah
Build berhasil SUCCESS Semua langkah ditandai SUCCESS.
Build berhasil dengan langkah-langkah yang gagal diizinkan SUCCESS
Build gagal FAILURE
  • Langkah yang gagal ditandai FAILED.
  • Langkah yang berhasil sebelum penghentian build ditandai SUCCESS.
  • Langkah-langkah di tengah eksekusi ditandai CANCELLED.
  • Langkah yang tidak mulai dieksekusi ditandai QUEUED.
Build dibatalkan oleh pengguna CANCELLED
  • Langkah yang berhasil sebelum pembatalan build ditandai SUCCESS.
  • Langkah-langkah di tengah eksekusi ditandai CANCELLED.
  • Langkah yang tidak mulai dieksekusi ditandai QUEUED.
Waktu build habis TIMEOUT
  • Langkah yang berhasil sebelum waktu tunggu build habis ditandai SUCCESS.
  • Langkah-langkah di tengah eksekusi ditandai CANCELLED.
  • Langkah yang tidak mulai dieksekusi ditandai QUEUED.
Waktu tunggu langkah habis FAILED
  • Langkah yang waktunya habis ditandai TIMEOUT.
  • Langkah yang berhasil sebelum langkah yang habis waktunya ditandai SUCCESS.
  • Langkah-langkah di tengah eksekusi ditandai CANCELLED.
  • Langkah yang tidak mulai dieksekusi ditandai QUEUED.

Untuk melihat status per langkah dan build, jalankan perintah gcloud builds describe:

gcloud builds describe [BUILD_ID]

dengan [BUILD_ID] adalah ID build.

Cuplikan berikut menunjukkan status per langkah dari build dengan langkah yang habis waktunya:

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

Memfilter hasil build menggunakan kueri

Untuk menemukan informasi build yang sesuai dengan kriteria tertentu, berikan string kueri di kolom Filter Builds di halaman Build history di konsol Google Cloud. Misalnya, Anda dapat membuat kueri untuk build yang telah gagal (yang memiliki nilai FAILURE di kolom status), build yang dibuat setelah waktu tertentu, build yang diberi tag, dan kondisi serupa lainnya.

Kolom yang didukung untuk kueri

Anda dapat membuat kueri untuk build berdasarkan nilai kolom berikut:

  • 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

Kolom yang tercantum dengan notasi titik (.) adalah subkolom.

Membuat string kueri

String kueri menggunakan bentuk umum:

field="value"

Gunakan notasi titik untuk menentukan subkolom, seperti results.images.name. Kueri mendukung operator perbandingan = dan !=, serta >, >=, <, dan <= untuk kolom yang memiliki nilai numerik (seperti create_time).

Anda dapat membuat kueri gabungan menggunakan ekspresi boolean AND dan OR.

Contoh kueri umum

Untuk membuat kueri semua build yang berhasil:

status="SUCCESS"

Untuk membuat kueri semua build yang belum selesai:

status="QUEUED" OR status="WORKING"

Untuk membuat kueri build dengan nama gambar hasil tertentu:

(status="SUCCESS" OR status="FAILURE") AND \
    results.images.name="us-east1-docker.pkg.dev/my-project/my-image"

Untuk membuat kueri semua build dengan tag "prod":

tags="prod"

Untuk membuat kueri build yang ditandai sebagai terverifikasi:

options.requested_verify_option="VERIFIED"

Untuk membuat kueri build yang berasal dari sumber di Cloud Storage (bukan dari Cloud Source Repositories):

source.storage_source.bucket!=""

Untuk membuat kueri build dengan ringkasan hasil tertentu:

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

Untuk membuat kueri build yang dimulai setelah waktu tertentu dan selesai sebelum waktu tertentu (zona waktu UTC):

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

Memfilter hasil build menggunakan tag

Anda dapat menggunakan tag dalam file konfigurasi, yang memungkinkan Anda mengatur build ke dalam grup dan memfilter build. Anda dapat menentukan string dalam tag, seperti "prod" atau "test".

Tag memiliki batasan berikut:

  • Batas karakter setiap tag adalah 128 karakter
  • Anda dapat menentukan maksimum 64 tag per build
  • Tag dapat berisi huruf, angka, dan garis bawah di posisi string mana pun.
  • Tag dapat berisi titik dan tanda hubung di posisi mana pun kecuali posisi pertama string Anda.

Untuk menambahkan tag dalam build Anda:

  1. Dalam file konfigurasi build, tambahkan kolom 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'
    
  2. Untuk melihat build yang diberi tag di cluster Anda, gunakan opsi --filter di gcloud builds list. Anda dapat memfilter build dengan menentukan satu tag atau beberapa tag.

    • Untuk memfilter build menurut satu tag, tentukan tag sebagai string di kolom tags. Perintah berikut mencantumkan semua build yang diberi tag 'test1':

       gcloud builds list --filter "tags='test1'"
      
    • Untuk memfilter build menurut beberapa tag, gunakan "AND", "OR", atau "NOT" untuk mencantumkan tag. Perintah berikut mencantumkan semua build yang diberi tag dengan 'test1' atau 'test2' dan diberi tag dengan 'test3':

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

    Anda akan melihat output yang mirip dengan berikut ini setelah menjalankan perintah ini:

    ID                                    CREATE_TIME                DURATION  SOURCE                                                                             IMAGES                                 STATUS
    d33a9895-...                          ...                        1M45S     gs://...                                                                           us-east1-docker.pkg.dev/...            SUCCESS
    

Langkah selanjutnya