Siapkan file konfigurasi build Anda untuk menyimpan log build di bucket log sehingga Anda dapat mengelompokkan dan menganalisisnya menggunakan alat Cloud Logging dan Cloud Storage. Mengonfigurasi penyimpanan log build memungkinkan kontrol yang lebih besar atas penyimpanan dan analisis log Anda. Jika Anda membiarkan setelan penyimpanan log build tidak ditentukan, Cloud Build akan menyimpannya di bucket milik Google Cloud-Google dengan opsi yang lebih sedikit untuk analisis log build.
Halaman ini menjelaskan cara menyimpan log build di berbagai jenis bucket, serta cara melihat dan menghapus log yang disimpan.
Sebelum memulai
Pastikan Anda memahami opsi file konfigurasi build untuk mengonfigurasi penyimpanan log build dan bagaimana kepemilikan bucket memengaruhi aksesibilitas log. Untuk mengetahui informasi selengkapnya, lihat Opsi penyimpanan log build.
Menyimpan log build di bucket yang dibuat pengguna
Bucket yang dibuat pengguna memberi Anda kontrol yang lebih besar atas pengelolaan dan konfigurasi bucket.
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 diperlukan untuk menyimpan log build di bucket Cloud Logging yang dibuat pengguna, minta administrator Anda untuk memberi Anda peran IAM Penulis Konfigurasi Log (roles/logging.configWriter) di akun atau akun layanan untuk 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 Periode retensi.
Buat sink untuk merutekan log build ke bucket baru Anda:
Masukkan kode berikut untuk filter penyertaan build sink Anda:
logName = "projects/PROJECT_ID/logs/cloudbuild"Ganti PROJECT-ID dengan Google Cloud project IDAnda.
(Opsional) Untuk mencegah log build Anda masuk ke bucket Logging default, ikuti contoh di Menghentikan penyimpanan 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 Anda berada di 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 Anda 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.
Mengonfigurasi bucket Cloud Storage:
Di Google Cloud project Anda, buat bucket Cloud Storage tanpa kebijakan retensi yang ditetapkan untuk menyimpan log build Anda.
Di file konfigurasi build Anda, tambahkan kolom
logsBucketyang mengarah ke bucket Cloud Storage yang Anda buat untuk menyimpan log build. Contoh file konfigurasi build berikut berisi petunjuk untuk mem-build image container 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_ONLYJSON
{ "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 build di bucket Cloud Storage yang Anda tentukan dalam file konfigurasi build.
Menyimpan log build di bucket Cloud Storage khusus region
Anda dapat mengonfigurasi build sehingga Cloud Build mengirim log build ke bucket Cloud Storage milik pengguna di region yang sama dengan build Anda. Menyelaraskan region bucket penyimpanan log build dan build dapat membantu Anda mematuhi persyaratan residensi data.
Memberikan izin IAM:
Jika bucket Cloud Storage dan Cloud Build Anda berada di project Google Cloud yang sama dan Anda menggunakan akun layanan lama Cloud Build, maka 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 Anda untuk memberi Anda
Storage Admin (roles/storage.admin) peran IAM 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.
Mengonfigurasi bucket Cloud Storage khusus region:
Di file konfigurasi build Anda, tambahkan opsi
defaultLogsBucketBehaviordan 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_BUCKETJSON
{ "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 menjalankan 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_BUCKETaktif. Bucket ini dimiliki pengguna, sehingga Anda dapat mengonfigurasinya seolah-olah bucket tersebut adalah bucket yang dibuat pengguna.Jika Anda menetapkan opsi
REGIONAL_USER_OWNED_BUCKETdan membuat build di beberapa region, Cloud Build akan membuat bucket Cloud Storage untuk setiap region unik.
Anda juga dapat menggunakan bucket yang dibuat pengguna jika perlu menyelaraskan region build dan bucket log. Dalam hal ini, Anda dapat memilih bucket yang dibuat pengguna yang sudah ada dan memiliki region yang sama, atau membuat bucket baru. Jika Anda ingin membuat bucket baru, ikuti langkah-langkah untuk Menyimpan log build di bucket yang dibuat pengguna dan pastikan bucket yang dibuat pengguna memiliki region yang sama dengan build Anda.
Melihat log build
Untuk melihat log build Anda, lakukan hal berikut:
Memberikan izin IAM:
Untuk mendapatkan izin yang diperlukan untuk melihat log build di Cloud Storage atau Logging, minta administrator Anda untuk memberi Anda peran IAM berikut di akun layanan yang digunakan untuk build Anda:
-
Melihat log build di bucket Cloud Storage yang dibuat pengguna atau milik pengguna:
- Storage Object Viewer (
roles/storage.objectViewer) - principal yang ingin melihat log build - Logs View Accessor (
roles/logging.viewAccessor) - principal yang ingin melihat log build
- Storage Object Viewer (
-
Melihat log build di bucket Cloud Storage default:
Viewer (
roles/viewer) - project tempat build dikonfigurasi -
Melihat log build di Logging:
Logs Viewer (
roles/logging.viewer) - principal 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.
Melihat log build di Google Cloud
Konsol
Buka halaman Cloud Build di Google Cloud konsol.
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 Anda atau pilih langkah build untuk melihat log build untuk langkah tersebut.
Jika log build 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 build-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 GitHub Enterprise
pemicu dengan gcloud CLI atau Cloud Build API
dan menentukan --include-logs-with-status sebagai opsi, maka
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 log build-nya ingin Anda lihat.
Klik ikon hasil di baris commit Anda.
Anda akan melihat daftar pemeriksaan yang terkait dengan commit Anda.
Klik Details untuk baris yang log build-nya ingin Anda lihat.
Anda akan melihat halaman Summary yang terkait dengan commit Anda. Jika Anda telah membuat pemicu menggunakan flag
--include-logs-with-status, log build Anda akan ditampilkan di bagian Details halaman.
Menghapus log dan bucket build
Untuk mendapatkan izin yang diperlukan untuk menghapus log dan bucket build di Cloud Storage, minta administrator Anda untuk memberi Anda peran IAM berikut di akun layanan yang digunakan untuk build Anda:
-
Menghapus log build di bucket Cloud Storage yang dibuat pengguna atau milik pengguna:
Storage Admin (
roles/storage.admin) - pengguna atau akun layanan yang menghapus log build -
Menghapus bucket Cloud Storage yang dibuat pengguna atau milik pengguna:
Storage Admin (
roles/storage.admin) - pengguna atau akun layanan yang menghapus bucket -
Menghapus bucket Logging yang dibuat pengguna:
Penulis Konfigurasi Log (
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 pengguna atau milik pengguna, ikuti petunjuk di Menghapus objek dalam dokumentasi Cloud Storage.
Untuk menghapus bucket Cloud Storage yang dibuat pengguna atau milik pengguna, ikuti petunjuk di 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 lebih lanjut izin IAM Cloud Build.