Saat Anda menjalankan build, Cloud Build akan mengumpulkan dan menyimpan log build Anda. Halaman ini menjelaskan cara menyimpan, melihat, dan menghapus log build.
Memilih tempat untuk mengirim log build
Anda dapat mengonfigurasi Cloud Build untuk mengirim log build ke bucket di Cloud Storage, bucket di Cloud Logging, atau keduanya.
Jika Anda ingin mengontrol periode retensi log build yang disimpan, kirim log tersebut ke Cloud Logging. Cloud Logging juga menyediakan lebih banyak opsi untuk menelusuri bucket guna menemukan log build tertentu.
Dalam beberapa kasus, ada jeda antara saat log build dibuat dan saat Logging menerimanya. Mengirim log build ke bucket di Cloud Storage dapat mengurangi latensi tersebut.
Cloud Storage dan Logging memungkinkan Anda menyimpan log di bucket default yang dibuat Google atau di bucket kustom yang dibuat pengguna. Bucket default memungkinkan Anda melihat log yang disimpan di bucket, tetapi tidak memungkinkan Anda mengubah apa pun pada bucket. Jika Anda memerlukan kontrol penuh atas bucket yang digunakan untuk penyimpanan log build, kirim log ke bucket yang dibuat pengguna.
Menyimpan log build di bucket default
Cloud Logging dan Cloud Storage memiliki bucket default tempat Anda dapat menyimpan log build. Bucket ini dibuat dan dimiliki oleh Google, serta dapat menerima log dari beberapa region.
Untuk mengirim log build ke salah satu bucket ini, konfigurasikan
LoggingMode
file konfigurasi build Anda dengan salah satu nilai berikut:
GCS_ONLY
: Log disimpan di bucket Cloud Storage default.CLOUD_LOGGING_ONLY
: Log disimpan di bucket Logging default.LEGACY
: Log disimpan di kedua bucket default.
Bucket Logging default memiliki kebijakan retensi 30 hari untuk log yang disimpan. Untuk menetapkan kebijakan retensi kustom bagi log build yang disimpan di Logging, simpan log build Anda di bucket kustom.
Bucket Cloud Storage default tidak memiliki kebijakan retensi.
Menyimpan log build di bucket Cloud Storage milik pengguna dan khusus region
Jika Anda mengirim log build ke bucket Cloud Storage default, Cloud Build akan menyimpannya di region yang ditentukan Google yang mungkin berbeda dari lokasi tempat Anda menjalankan build. Namun, Anda juga dapat mengonfigurasi build sehingga Cloud Build mengirim log build ke bucket Cloud Storage milik pengguna di region yang sama dengan tempat Anda menjalankan build. Konfigurasi ini memberi Anda lebih banyak kontrol atas lokasi data log build, yang dapat membantu Anda mematuhi persyaratan residensi data.
Memberikan izin IAM:
Jika bucket Cloud Storage dan Cloud Build berada dalam project Google Cloud yang sama dan Anda menggunakan akun layanan lama Cloud Build, akun layanan tersebut akan memiliki izin IAM yang diperlukan secara default. Anda tidak perlu memberikan izin tambahan apa pun. Jika tidak, lakukan yang berikut ini:
Untuk mendapatkan izin yang
diperlukan untuk menyimpan log build di bucket khusus region dan milik pengguna,
minta administrator untuk memberi Anda
peran IAM Storage Admin (roles/storage.admin
) di akun layanan yang digunakan untuk build Anda.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Konfigurasikan bucket Cloud Storage khusus region:
Dalam file konfigurasi build, tambahkan opsi
defaultLogsBucketBehavior
dan tetapkan nilainya keREGIONAL_USER_OWNED_BUCKET
:YAML
steps: - name: 'gcr.io/cloud-builders/docker' args: [ 'build', '-t', 'us-central1-docker.pkg.dev/myproject/myrepo/myimage', '.' ] options: defaultLogsBucketBehavior: REGIONAL_USER_OWNED_BUCKET
JSON
{ "steps": [ { "name": "gcr.io/cloud-builders/docker", "args": [ "build", "-t", "us-central1-docker.pkg.dev/myproject/myrepo/myimage", "." ] } ], "options": { "defaultLogsBucketBehavior": "REGIONAL_USER_OWNED_BUCKET" } }
Gunakan file konfigurasi build untuk memulai build menggunakan command line, API, atau pemicu.
Saat Anda menjalankan build, Cloud Build akan membuat bucket baru di region tempat Anda mengeksekusi build, lalu menyimpan log build di bucket ini. Build lebih lanjut di project dan region yang sama akan menggunakan bucket yang ada selama
REGIONAL_USER_OWNED_BUCKET
aktif. Bucket ini dimiliki pengguna, sehingga Anda dapat mengonfigurasinya seolah-olah adalah bucket buatan pengguna.
Jika Anda menetapkan opsi REGIONAL_USER_OWNED_BUCKET
, lalu membuat build di beberapa region, Cloud Build akan membuat beberapa bucket untuk log build Anda.
Bucket Cloud Storage default khusus region tidak memiliki kebijakan retensi. Namun, Anda dapat mengotomatiskan penghapusan log build dari bucket dengan mengonfigurasi aturan siklus proses objek.
Menyimpan log build di bucket buatan pengguna
Bucket yang dibuat pengguna memberi Anda kontrol yang lebih besar atas pengelolaan dan konfigurasi bucket log.
Menyimpan log build di bucket Cloud Logging yang dibuat pengguna
Bucket Logging yang dibuat pengguna memungkinkan Anda menyesuaikan periode retensi log build yang disimpan. Untuk menyimpan log build di bucket yang dibuat pengguna di Logging, lakukan hal berikut:
Memberikan izin IAM:
Untuk mendapatkan izin yang
Anda perlukan untuk menyimpan log build di bucket Cloud Logging yang dibuat pengguna,
minta administrator untuk memberi Anda
peran IAM Logs Configuration Writer (roles/logging.configWriter
) di project Anda.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Mengonfigurasi bucket Logging:
Buat bucket dan tetapkan nilai untuk kolom Retention period.
Buat sink untuk merutekan log build ke bucket baru:
Masukkan hal berikut untuk filter inklusi build sink Anda:
logName = "projects/PROJECT_ID/logs/cloudbuild"
Ganti PROJECT-ID dengan ID project Google Cloud Anda.
(Opsional) Untuk mencegah log Anda masuk ke bucket Logging default, ikuti contoh di Berhenti menyimpan entri log di bucket log.
Menyimpan log build di bucket Cloud Storage yang dibuat pengguna
Untuk menyimpan log build di bucket Cloud Storage yang dibuat pengguna, lakukan hal berikut:
Memberikan izin IAM:
Jika bucket Cloud Storage dan Cloud Build berada dalam project Google Cloud yang sama dan Anda menggunakan akun layanan lama Cloud Build, akun layanan lama Cloud Build Anda akan memiliki izin IAM yang diperlukan secara default. Anda tidak perlu memberikan izin tambahan apa pun. Jika tidak, lakukan yang berikut ini:
Untuk mendapatkan izin yang
diperlukan untuk menyimpan log build di bucket Cloud Storage yang dibuat pengguna,
minta administrator untuk memberi Anda
peran IAM Storage Admin (roles/storage.admin
) di akun layanan yang digunakan untuk build Anda.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Konfigurasikan bucket Cloud Storage:
Di project Google Cloud Anda, buat bucket Cloud Storage tanpa kebijakan retensi yang ditetapkan untuk menyimpan log build Anda.
Dalam file konfigurasi build, tambahkan kolom
logsBucket
yang mengarah ke bucket Cloud Storage yang Anda buat untuk menyimpan log build. Contoh file konfigurasi build berikut berisi petunjuk untuk mem-build image penampung dan menyimpan log build di bucket bernamamylogsbucket
:YAML
steps: - name: 'gcr.io/cloud-builders/docker' args: [ 'build', '-t', 'us-east1-docker.pkg.dev/myproject/myimage', '.' ] logsBucket: 'gs://mylogsbucket' options: logging: GCS_ONLY
JSON
{ "steps": [ { "name": "gcr.io/cloud-builders/docker", "args": [ "build", "-t", "us-east1-docker.pkg.dev/myproject/myimage", "." ] } ], "logsBucket": "gs://mylogsbucket", "options": { "logging": "GCS_ONLY" } }
Gunakan file konfigurasi build untuk memulai build menggunakan command line, API, atau pemicu.
Setelah build selesai, Cloud Build akan menyimpan log di bucket Cloud Storage yang Anda tentukan dalam file konfigurasi build.
Prioritas antar-setelan log
Jika Anda menentukan bucket Cloud Storage yang dibuat pengguna di logsBucket
, Cloud Build akan mengirim log build ke bucket yang dibuat pengguna, bukan bucket Cloud Storage default.
Jika Anda menambahkan opsi defaultLogsBucketBehavior
ke file konfigurasi
build yang ada dan sebelumnya telah mengonfigurasi opsi
logging
atau logsBucket
, sebaiknya hapus setelan tersebut untuk mencegah konflik
antara setelan. Secara khusus, defaultLogsBucketBehavior
tidak akan berfungsi jika
Anda telah mengonfigurasi:
logging: CLOUD_LOGGING_ONLY
untuk menyimpan log build di Cloud Logging.logging: NONE
untuk menonaktifkan logging.
Saat Anda menjalankan build tanpa opsi logging yang ditetapkan dalam file konfigurasi build, Cloud Build akan menetapkan logging: LEGACY
dan menyimpan log build di bucket Cloud Storage default. Menetapkan
defaultLogsBucketBehavior
ke REGIONAL_USER_OWNED_BUCKET
akan menggantikan logging: LEGACY
.
Melihat log build
Untuk melihat log build, lakukan hal berikut:
Memberikan izin IAM:
Untuk mendapatkan izin yang diperlukan guna melihat log build di Cloud Storage atau Logging, minta administrator untuk memberi Anda peran IAM berikut di akun layanan yang digunakan untuk build Anda:
-
Melihat log build di bucket Cloud Storage yang dibuat atau dimiliki pengguna:
-
Storage Object Viewer (
roles/storage.objectViewer
) - akun utama yang ingin melihat log build -
Logs View Accessor (
roles/logging.viewAccessor
) - akun utama yang ingin melihat log build
-
Storage Object Viewer (
-
Melihat log build di bucket Cloud Storage default:
Pelihat (
roles/viewer
) - project tempat build dikonfigurasi -
Melihat log build di Logging:
Logs Viewer (
roles/logging.viewer
) - akun utama yang ingin melihat log build
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Lihat log build di Google Cloud:
Konsol
Buka halaman Cloud Build di konsol Google Cloud.
Pilih project Anda lalu klik Buka.
Di menu drop-down Region, pilih region untuk build Anda.
Di halaman Build history, pilih build tertentu.
Di halaman Build details, pada bagian Steps, klik Build summary untuk melihat log build untuk seluruh build atau pilih langkah build untuk melihat log build untuk langkah tersebut.
Jika log Anda disimpan di Logging, di panel Build log, klik ikon
untuk melihat log di Logs Explorer.
gcloud
Jalankan perintah gcloud builds log
dengan
build-id adalah ID build yang log-nya ingin Anda
dapatkan. ID build ditampilkan di akhir proses pengiriman build
saat Anda menjalankan gcloud builds submit
, atau di kolom ID saat Anda
menjalankan gcloud builds list
.
gcloud builds log build-id
Melihat log build di GitHub dan GitHub Enterprise:
Jika Anda membuat GitHub
atau pemicu GitHub Enterprise
dan menentukan --include-logs-with-status
sebagai opsi, Anda
dapat melihat log build di GitHub dan GitHub Enterprise.
Untuk melihat log build di GitHub dan GitHub Enterprise, lakukan hal berikut:
Buka repositori yang terkait dengan pemicu Anda.
Buka daftar commit Anda.
Temukan baris commit yang ingin Anda lihat log build-nya.
Klik ikon hasil di baris commit Anda.
Anda akan melihat daftar pemeriksaan yang terkait dengan commit Anda.
Klik Details untuk baris yang ingin Anda lihat log build-nya.
Anda akan melihat halaman Ringkasan yang terkait dengan commit Anda. Jika telah membuat pemicu menggunakan flag
--include-logs-with-status
, Anda akan melihat log build ditampilkan di bagian Details halaman.
Menghapus log dan bucket build
Untuk mendapatkan izin yang diperlukan untuk menghapus log build dan bucket di Cloud Storage, minta administrator untuk memberi Anda peran IAM berikut di akun layanan yang digunakan untuk build Anda:
-
Menghapus log build di bucket Cloud Storage yang dibuat atau dimiliki pengguna:
Storage Admin (
roles/storage.admin
) - pengguna atau akun layanan yang menghapus log build -
Menghapus bucket Cloud Storage yang dibuat atau dimiliki pengguna:
Storage Admin (
roles/storage.admin
) - pengguna atau akun layanan yang menghapus bucket -
Menghapus bucket Logging yang dibuat pengguna:
Logs Configuration Writer (
roles/logging.configWriter
) - project Anda
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Untuk menghapus log build di bucket Cloud Storage yang dibuat atau dimiliki pengguna, ikuti petunjuk di bagian Menghapus objek dalam dokumentasi Cloud Storage.
Untuk menghapus bucket Cloud Storage yang dibuat atau dimiliki pengguna, ikuti petunjuk di bagian Menghapus bucket dalam dokumentasi Cloud Storage.
Untuk menghapus bucket Logging yang dibuat pengguna, ikuti petunjuk di Menghapus bucket dalam dokumentasi Logging.
Langkah berikutnya
- Pelajari log audit yang dibuat oleh Cloud Build.
- Pelajari cara melihat hasil build.
- Pelajari izin IAM Cloud Build lebih lanjut.