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 keberhasilan atau kegagalan), sumber, hasil, waktu pembuatan, gambar, dan lainnya.

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

Buka halaman Histori Build

Halaman Build history akan ditampilkan, dan menampilkan daftar build terbaru Anda.

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

Anda juga dapat memfilter build menggunakan kotak teks Filter build 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 Build History, lalu klik build yang ditentukan. Halaman Build details akan ditampilkan, dengan Build Summary untuk build Anda. Build Summary mencakup:

  • Build Log, log build Anda.
  • Detail Eksekusi, detail build Anda, termasuk variabel dan substitusi lingkungan.
  • Artefak Build, artefak build seperti image container, log build, atau biner.

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

gcloud

Perintah gcloud builds list akan 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 ingin Anda dapatkan detailnya.

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 menyediakan status keseluruhan untuk build dan status untuk setiap langkah build individual.

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

Acara Status Build Status Langkah
Build berhasil SUCCESS Semua langkah ditandai sebagai SUCCESS.
Build berhasil dengan langkah yang gagal diizinkan SUCCESS
  • Build ditandai sebagai SUCCESS.
  • Langkah gagal yang dikonfigurasi dengan allowFailure atau allowExitCodes ditandai sebagai FAILED.
Build gagal FAILURE
  • Langkah yang gagal ditandai sebagai FAILED.
  • Langkah yang berhasil sebelum penghentian build akan ditandai sebagai SUCCESS.
  • Langkah di tengah eksekusi ditandai sebagai CANCELLED.
  • Langkah yang belum mulai dijalankan ditandai sebagai QUEUED.
Build dibatalkan oleh pengguna CANCELLED
  • Langkah yang berhasil sebelum pembatalan build akan ditandai sebagai SUCCESS.
  • Langkah di tengah eksekusi ditandai sebagai CANCELLED.
  • Langkah yang belum mulai dijalankan ditandai sebagai QUEUED.
Waktu build habis TIMEOUT
  • Langkah yang berhasil sebelum waktu build habis akan ditandai sebagai SUCCESS.
  • Langkah di tengah eksekusi ditandai sebagai CANCELLED.
  • Langkah yang belum mulai dijalankan ditandai sebagai QUEUED.
Waktu langkah habis FAILED
  • Langkah yang waktunya habis ditandai TIMEOUT.
  • Langkah yang berhasil sebelum langkah waktu tunggu akan ditandai sebagai SUCCESS.
  • Langkah di tengah eksekusi ditandai sebagai CANCELLED.
  • Langkah yang belum mulai dijalankan ditandai sebagai 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 waktu habis:

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 untuk build yang sesuai dengan kriteria tertentu, berikan string kueri di kolom Filter Builds pada halaman Build history di Google Cloud Console. Misalnya, Anda dapat membuat kueri untuk build yang 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 untuk 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 untuk semua build dengan tag "prod":

tags="prod"

Untuk membuat kueri untuk build yang ditandai sebagai terverifikasi:

options.requested_verify_option="VERIFIED"

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

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 di file konfigurasi, untuk mengatur build ke dalam grup dan memfilter build. Anda dapat menetapkan 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 Anda.
  • Tag dapat berisi titik dan tanda hubung di posisi mana pun kecuali posisi pertama string Anda.

Untuk menambahkan tag dalam build Anda:

  1. Di 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 dalam cluster Anda, gunakan opsi --filter di gcloud builds list. Anda dapat memfilter build dengan menentukan satu atau beberapa tag.

    • Untuk memfilter build berdasarkan 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 berdasarkan 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