Opsi penyimpanan log build

Saat Anda menjalankan build, Cloud Build akan 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 Anda 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 tersimpan, kirim log tersebut ke Logging. Penampil Log di Logging juga menyediakan lebih banyak opsi untuk menelusuri bucket guna menemukan log build tertentu dibandingkan dengan Cloud Storage. Namun, saat Anda menggunakan Logging, mungkin ada penundaan antara waktu log build dibuat dan waktu Logging menerimanya.

  • Jika Anda menginginkan latensi yang lebih rendah antara waktu log build dibuat dan waktu log tersebut tersedia di Cloud Storage, kirim log build Anda ke bucket di Cloud Storage.

Kepemilikan bucket Anda juga memengaruhi cara Anda berinteraksi dengan log build tersimpan. Misalnya, bucket milik pengguna memungkinkan Anda mengonfigurasi setelan bucket, sedangkan Google Cloud-owned bucket 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 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. Jika logging tidak 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 di 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 milik pengguna yang dibuat Cloud Build di Cloud Storage. Bucket ini berada di project pengguna dan menggunakan region yang sama dengan build.
  • LEGACY_BUCKET: Log build dikirim ke bucket milik yang dibuat Cloud Build dan Google Clouddi project milik 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 flag default-buckets-behavior saat menjalankan gcloud builds submit:

  • regional-user-owned-bucket: Log build dikirim ke bucket milik pengguna yang dibuat Cloud Build di Cloud Storage. Bucket ini berada di project pengguna dan menggunakan region yang sama dengan build.
  • legacy-bucket: Log build dikirim ke bucket milik yang dibuat Cloud Build dan Google Clouddi 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 Anda 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 Cloud Build tetapi milik pengguna (misalnya, jika Anda mengonfigurasi setelan untuk bucket milik pengguna regional). Dengan begitu, Anda dapat mengedit properti tertentu dari bucket dan melihat log di bucket kapan saja. Karena Google Cloud-owned bucket berada di Google Cloud-owned project, bucket tersebut tidak dapat dilihat atau diedit, dan log build-nya hanya dapat dilihat di bagian Log build pada halaman Detail build.

Secara umum, bucket yang dibuat pengguna memberikan fleksibilitas terbesar dalam hal mengonfigurasi setelan bucket selama dan setelah pembuatan bucket. Namun, dalam hal ini, Anda harus selalu memastikan bahwa bucket yang dibuat pengguna selaras dengan kebutuhan build Anda. Dalam beberapa kasus, seperti mengelola region bucket, menggunakan bucket milik pengguna yang dibuat Cloud Build 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 Anda agar selaras 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 logging build, 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 Google Cloudditentukan. Akibatnya, 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 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 hal berikut benar:

  • logging ditetapkan ke CLOUD_LOGGING_ONLY atau NONE.
  • logging ditetapkan ke GCS_ONLY atau LEGACY, dan logsBucket ditentukan.

Jika Anda menjalankan build tanpa kolom penyimpanan log yang ditentukan dalam file konfigurasi build, Cloud Build akan menetapkan logging ke LEGACY.

Langkah berikutnya