Saat Anda menjalankan build, Cloud Build mengumpulkan dan menyimpan log build Anda di bucket log. Berdasarkan setelan file konfigurasi build, log build Anda disimpan di bucket Cloud Logging, bucket Cloud Storage, atau di kedua lokasi tersebut. Anda juga dapat mengonfigurasi jenis bucket Logging atau Cloud Storage yang berisi log Anda. Lokasi dan jenis bucket memengaruhi kemampuan Anda untuk menganalisis log build dan jumlah kontrol yang Anda miliki atas setelan bucket.
Ringkasan
Saat Anda menyiapkan file konfigurasi build, pertimbangkan hal berikut:
Jika Anda ingin mengontrol periode retensi log build yang disimpan, kirimkan log tersebut ke Logging. Logs Viewer di Logging juga menyediakan lebih banyak opsi untuk menelusuri bucket untuk log build tertentu jika dibandingkan dengan Cloud Storage. Namun, saat Anda menggunakan Logging, mungkin ada keterlambatan antara saat log build dibuat dan saat Logging menerimanya.
Jika Anda ingin mengurangi latensi antara waktu pembuatan log build dan waktu ketersediaannya di Cloud Storage, kirim log build Anda ke bucket di Cloud Storage.
Kepemilikan bucket juga memengaruhi cara Anda berinteraksi dengan log build yang disimpan. Misalnya, bucket milik pengguna memungkinkan Anda mengonfigurasi setelan bucket, sedangkan bucket milik Google Clouddibuat oleh Google Clouddan tidak dapat diubah oleh pengguna. Logging dan Cloud Storage memiliki beberapa opsi untuk mengonfigurasi jenis bucket yang menerima log build Anda.
Lokasi bucket
Siapkan kolom logging di file konfigurasi build untuk menentukan tempat log build Anda dikirim:
GCS_ONLY: Log build dikirim ke bucket Cloud Storage.CLOUD_LOGGING_ONLY: Log build dikirim ke bucket Logging.LEGACY: Log build dikirim ke bucket di kedua lokasi. Jikaloggingtidak ditentukan, Cloud Build akan menggunakan nilai ini.NONE: Log build tidak disimpan.
Jika Anda mengirim log build ke Logging, lihat Konfigurasi perutean Cloud Logging untuk mengetahui informasi tentang opsi bucket Logging. Jika Anda mengirim log build ke Cloud Storage, lihat bagian berikut untuk mengetahui informasi tentang bucket Cloud Storage yang tersedia. Bagian Pertimbangan untuk kepemilikan bucket menjelaskan manfaat dan pertimbangan untuk bucket berdasarkan kepemilikan bucket, terlepas dari lokasi bucket.
Opsi bucket di Cloud Storage
Jika log build Anda dikirim ke Cloud Storage, Cloud Build akan mengevaluasi kolom logsBucket dan defaultLogsBucketBehavior dalam file konfigurasi build Anda untuk menentukan jenis bucket Cloud Storage yang menerima log build.
Kolom logsBucket dapat memiliki jenis bucket apa pun. Jika logsBucket ditentukan, log akan selalu dikirim ke bucket tersebut di Cloud Storage, terlepas dari nilai defaultLogsBucketBehavior. Jika logsBucket tidak ditentukan, nilai
defaultLogsBucketBehavior akan digunakan sebagai berikut:
REGIONAL_USER_OWNED_BUCKET: Log build dikirim ke bucket yang dibuat oleh Cloud Build dan dimiliki pengguna di Cloud Storage. Bucket ini berada di project pengguna dan menggunakan region yang sama dengan build.LEGACY_BUCKET: Log build dikirim ke bucket yang dibuat oleh Cloud Build dan dimiliki oleh Google Clouddalam project milik Google Cloud.- Tidak ada nilai: Log build dikirim ke bucket yang dibuat oleh Cloud Build dan dimiliki pengguna di Cloud Storage. Bucket ini berada di project pengguna dan menggunakan region yang sama dengan build. Jika pembuatan bucket ini gagal, log build akan dikirim ke bucket yang dibuat dan dimiliki oleh Cloud Build di project milikGoogle Cloud. Google Cloud
Penyimpanan log saat membangun dari Dockerfile
Untuk menyiapkan penyimpanan log build saat membangun dari Dockerfile, sertakan salah satu nilai flag default-buckets-behavior saat menjalankan gcloud builds
submit:
regional-user-owned-bucket: Log build dikirim ke bucket yang dibuat oleh Cloud Build dan dimiliki pengguna di Cloud Storage. Bucket ini berada di project pengguna dan menggunakan region yang sama dengan build.legacy-bucket: Log build dikirim ke bucket yang dibuat oleh Cloud Build dan dimiliki oleh Google Clouddalam project milik Google Cloud. Nilai ini sama dengan membiarkan kolom ini tidak ditentukan.
Pertimbangan untuk kepemilikan bucket
Terlepas dari apakah Anda menggunakan Cloud Storage atau Logging, sebaiknya kirim log build ke bucket milik pengguna. Bucket ini dapat berupa bucket yang dibuat pengguna (misalnya, jika Anda menetapkan logsBucket ke bucket yang Anda buat), atau bucket yang dibuat oleh Cloud Build, tetapi dimiliki oleh pengguna (misalnya, jika Anda mengonfigurasi setelan untuk bucket regional milik pengguna). Dengan cara ini, Anda dapat mengedit properti tertentu dari bucket dan melihat log di bucket kapan saja. Karena bucket milik Google Cloudberada dalam project milikGoogle Cloud, bucket tersebut tidak dapat dilihat atau diedit, dan log build-nya hanya dapat dilihat di bagian Log build di halaman Detail build.
Secara umum, bucket yang dibuat pengguna memberikan fleksibilitas paling tinggi dalam hal mengonfigurasi setelan bucket selama dan setelah pembuatan bucket. Namun, dalam hal ini, Anda harus selalu memastikan bahwa bucket yang dibuat pengguna sesuai dengan kebutuhan build Anda. Dalam beberapa kasus, seperti mengelola region bucket, menggunakan bucket yang dibuat oleh Cloud Build dan dimiliki pengguna memungkinkan Anda mengirim log build ke bucket yang tersedia di Cloud Storage secara default dan selalu berada di region yang sama dengan build Anda. Bagian berikut memberikan informasi selengkapnya tentang kasus penggunaan ini:
Pertimbangan untuk region bucket
Sebaiknya konfigurasi bucket build agar sesuai dengan region build Anda, karena penyiapan ini dapat membantu Anda mematuhi persyaratan residensi data. Jika Anda ingin menyelaraskan region dengan cara ini, pertimbangkan hal berikut:
Bucket yang dibuat pengguna di Logging dan Cloud Storage menggunakan region yang ditentukan selama pembuatan bucket. Jika Anda menetapkan bucket yang dibuat pengguna sebagai nilai
loggingbuild, pastikan regionnya cocok dengan region build Anda.Jika Anda mengonfigurasi log build untuk menggunakan bucket regional milik pengguna di Cloud Storage, log build Anda akan selalu dikirim ke bucket di region yang sama dengan build Anda.
Bucket milikGoogle Cloudditetapkan ke region yang ditentukan Google Cloud. Oleh karena itu, region ini mungkin tidak selalu selaras dengan region build Anda.
Menambahkan defaultLogsBucketBehavior ke file konfigurasi build yang ada
Jika Anda menambahkan opsi defaultLogsBucketBehavior ke file konfigurasi build yang ada dan sebelumnya telah mengonfigurasi logging atau logsBucket, sebaiknya evaluasi semua setelan penyimpanan log Anda untuk memastikan log disimpan sebagaimana mestinya. Cloud Build mengabaikan
defaultLogsBucketBehavior jika salah satu hal berikut benar:
loggingditetapkan keCLOUD_LOGGING_ONLYatauNONE.loggingditetapkan keGCS_ONLYatauLEGACY, danlogsBucketditentukan.
Jika Anda menjalankan build tanpa kolom penyimpanan log yang ditentukan dalam file konfigurasi build,
Cloud Build akan menetapkan logging ke LEGACY.
Langkah berikutnya
- Pelajari cara menyimpan, melihat, dan menghapus log build
- Pelajari log audit yang dibuat oleh Cloud Build.
- Pelajari cara melihat hasil build.
- Pelajari lebih lanjut izin IAM Cloud Build.