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. 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 tingkat 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, maka kirimkan ke Logging. Logs Viewer di Logging juga memberikan lebih banyak opsi untuk menelusuri bucket guna menemukan log build tertentu dibandingkan dengan Cloud Storage. Namun, saat Anda menggunakan Logging, mungkin ada jeda antara saat log build dibuat dan saat Logging menerimanya.
Jika Anda menginginkan latensi yang lebih rendah antara saat log build dibuat dan saat Logging menerimanya, kirim log build Anda ke bucket di Cloud Storage.
Kepemilikan bucket Anda juga memengaruhi cara Anda berinteraksi dengan log build yang disimpan. Misalnya, bucket milik pengguna memungkinkan Anda mengonfigurasi setelan bucket, sementara bucket milik Google Cloud-dibuat oleh Google Cloud dan 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 Anda untuk menentukan ke mana 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 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 Cloud Build dan dimiliki Google Clouddi project yang dimiliki Google Cloud. Nilai ini sama dengan membiarkan kolom ini tidak ditentukan.
Penyimpanan log saat membangun dari Dockerfile
Untuk menyiapkan penyimpanan log build saat membangun dari Dockerfile, sertakan salah satu nilai tanda default-buckets-behavior saat menjalankan gcloud builds
submit:
regional-user-owned-bucket: Log build dikirim ke bucket yang dibuat 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 Cloud Build dan dimiliki Google Clouddi project yang dimiliki 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 Anda ke bucket yang dimiliki pengguna. Bucket ini dapat berupa bucket yang dibuat pengguna (misalnya, jika Anda menyetel logsBucket ke bucket yang Anda buat), atau bucket yang dibuat Cloud Build tetapi dimiliki 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 di 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 kasus ini, Anda harus selalu memastikan bahwa bucket yang dibuat pengguna selaras dengan kebutuhan build Anda. Dalam beberapa kasus, seperti mengelola region bucket, penggunaan bucket yang dibuat 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 konfigurasikan bucket build agar sesuai dengan region build Anda, karena penyiapan ini dapat membantu Anda mematuhi persyaratan residensi data. Jika Anda ingin menyelaraskan wilayah 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 milik pengguna regional 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. Akibatnya, wilayah ini mungkin tidak selalu sesuai dengan wilayah build Anda.
Menambahkan defaultLogsBucketBehavior ke file konfigurasi build yang ada
Jika Anda menambahkan opsi defaultLogsBucketBehavior ke file konfigurasi build yang ada tempat Anda sebelumnya mengonfigurasi logging atau logsBucket, sebaiknya evaluasi semua setelan penyimpanan log Anda untuk memastikan log Anda disimpan sesuai keinginan. Cloud Build mengabaikan
defaultLogsBucketBehavior jika salah satu kondisi berikut terpenuhi:
loggingdisetel keCLOUD_LOGGING_ONLYatauNONE.loggingdisetel 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.