Menyimpan dan mengelola log build

Saat Anda menjalankan build, Cloud Build akan mengumpulkan dan menyimpan log build. Halaman ini menjelaskan cara menyimpan, melihat, dan menghapus log build.

Memilih tempat untuk menyimpan log build

Anda dapat mengonfigurasi Cloud Build untuk menyimpan log build di Cloud Logging atau Cloud Storage dengan menyertakan kolom logging di file konfigurasi Cloud Build Anda. Jika Anda tidak menentukan kolom logging pada file konfigurasi build, Cloud Build akan menyimpan log build di Logging dan Cloud Storage.

Langkah-langkah berikut hanya menyimpan log build di Logging:

  1. Di file konfigurasi build, tetapkan nilai logging ke CLOUD_LOGGING_ONLY:

    YAML

    steps:
    - name: 'gcr.io/cloud-builders/docker'
      args: ['build', '-t', 'us-east1-docker.pkg.dev/myproject/myimage', '.']
    options:
      logging: CLOUD_LOGGING_ONLY
    

    JSON

    {
      "steps": [
      {
        "name": "gcr.io/cloud-builders/docker",
        "args": [
          "build",
          "-t",
          "us-east1-docker.pkg.dev/myproject/myimage",
          "."
        ]
      }
      ],
      "options": {
        "logging": "CLOUD_LOGGING_ONLY"
      }
    }
    
  2. Gunakan file konfigurasi build untuk memulai build menggunakan command line, API atau pemicu.

Menyimpan log build di bucket default yang dibuat Google

Secara default, Cloud Build menyimpan log build Anda di bucket Cloud Storage yang dibuat Google. Anda dapat melihat log build yang disimpan di bucket Cloud Storage yang dibuat Google, tetapi Anda tidak dapat membuat perubahan lain. Jika Anda mengharuskan kontrol penuh atas bucket log, simpan log di bucket Cloud Storage yang dibuat pengguna.

Menyimpan log build di bucket yang dibuat pengguna

Izin IAM:

Untuk menyimpan log build di bucket Cloud Storage sendiri, Anda harus terlebih dahulu memberikan izin IAM yang diperlukan ke akun layanan Cloud Build atau akun layanan yang ditentukan pengguna:

  • Jika bucket Cloud Storage dan Cloud Build berada dalam project Google Cloud yang sama dan Anda menggunakan akun layanan Cloud Build, akun layanan Cloud Build Anda memiliki izin IAM yang diperlukan secara default. Anda tidak perlu memberikan izin tambahan apa pun.

  • Jika bucket Cloud Storage dan Cloud Build berada dalam project Google Cloud yang sama, dan Anda menggunakan akun layanan yang ditentukan pengguna, berikan peran Storage Admin ke akun layanan tersebut. Untuk mengetahui petunjuk tentang cara memberikan peran ke akun layanan, lihat Memberikan peran pada project.

  • Jika bucket Cloud Storage dan Cloud Build berada di project Google Cloud yang berbeda, berikan peran Storage Admin ke akun layanan Cloud Build:

    1. Buka halaman IAM:

      Buka halaman IAM

    2. Pilih project tempat Anda menjalankan build menggunakan Cloud Build.

    3. Di tabel izin, cari alamat email yang diakhiri dengan @cloudbuild.gserviceaccount.com, lalu catat. Ini adalah akun layanan Cloud Build Anda.

    4. Buka halaman IAM di project tempat bucket Cloud Storage Anda berada:

      Buka halaman IAM

    5. Klik Grant access.

    6. Masukkan alamat email akun layanan Cloud Build.

    7. Pilih Cloud Storage > Storage Admin.

    8. Klik Save.

Untuk menentukan bucket Cloud Storage guna menyimpan log build:

  1. Di project Google Cloud Anda, buat bucket Cloud Storage tanpa menetapkan kebijakan retensi untuk menyimpan log build.

  2. Di 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 container dan menyimpan log build di dalam bucket yang bernama mylogsbucket:

    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"
           }
        }
    
  3. 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.

Menyimpan log build di bucket milik pengguna dan regional

Secara default, Cloud Build menyimpan log build di region yang ditentukan Google yang mungkin berbeda dari lokasi Anda menjalankan build. Opsi defaultLogsBucketBehavior memungkinkan Anda mengonfigurasi Cloud Build untuk menggunakan bucket log default dalam project Anda sendiri dan di region yang sama dengan build. Konfigurasi ini memberi Anda lebih banyak kontrol atas lokasi data log Anda, yang dapat membantu Anda mematuhi persyaratan residensi data.

Anda akan dikenai biaya untuk menyimpan log di project Anda sendiri. Untuk mengetahui detailnya, lihat Harga Cloud Storage.

Konfigurasikan Cloud Build untuk menggunakan log milik pengguna yang diregionalkan:

  1. Berikan izin IAM yang diperlukan.

    • Jika Anda menggunakan akun layanan Cloud Build, akun layanan Cloud Build Anda memiliki izin IAM yang diperlukan secara default. Anda tidak perlu memberikan izin tambahan.

    • Jika Anda menggunakan akun layanan yang ditentukan pengguna, berikan peran Storage Admin ke akun layanan tersebut. Untuk petunjuk tentang cara memberikan peran ke akun layanan, lihat Memberikan peran pada project.

  2. Dalam konfigurasi build, tambahkan opsi defaultLogsBucketBehavior dan tetapkan nilainya ke REGIONAL_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"
        }
    }
    
  3. Gunakan file konfigurasi build untuk memulai build menggunakan command line, API, atau pemicu.

    Saat Anda menjalankan build, Cloud Build akan membuat bucket log baru di region tempat Anda menjalankan build, lalu menyimpan log build untuk bucket ini. Build berikutnya dalam project dan region yang sama akan menggunakan bucket yang ada secara default.

Jika Anda menetapkan opsi defaultLogsBucketBehavior, lalu membuat build di beberapa region, Cloud Build akan membuat beberapa bucket untuk log build Anda.

Log build regional yang disimpan di project Anda sendiri tidak memiliki kebijakan retensi. Setelan ini tidak dapat diubah.

Prioritas di antara setelan log

Jika Anda menambahkan opsi defaultLogsBucketBehavior ke file konfigurasi build yang sudah ada dan sebelumnya telah mengonfigurasi opsi logging atau logsBucket, sebaiknya hapus setelan tersebut untuk mencegah konflik antarsetelan.

Secara khusus, defaultLogsBucketBehavior tidak akan berfungsi jika Anda telah mengonfigurasi:

  • logging: CLOUD_LOGGING_ONLY untuk menyimpan log build Anda di Cloud Logging.
  • logging: NONE untuk menonaktifkan logging.

Saat Anda menjalankan build tanpa opsi logging yang ditetapkan di konfigurasi build, Cloud Build akan menetapkan logging: LEGACY dan menyimpan log di bucket Cloud Storage default yang dibuat Google. Jika Anda menambahkan defaultLogsBucketBehavior: REGIONAL_USER_OWNED_BUCKET, opsi ini akan menggantikan logging: LEGACY.

Lihat log build

Izin IAM:

  • Jika log build Anda berada dalam Logging, berikan peran Logs Viewer pada project tempat build dikonfigurasi ke akun utama yang ingin melihat log build:

    1. Buka halaman IAM:

      Buka halaman IAM

    2. Pilih project Anda lalu klik Buka.

    3. Di tabel izin, temukan ID email akun utama dan klik ikon pensil.

    4. Pilih Logging > peran Logs Viewer.

    5. Klik Save.

  • Jika log build Anda berada di bucket Cloud Storage default yang dibuat Google, berikan peran Project Viewer pada project tempat build dikonfigurasi ke akun utama yang ingin melihat log build:

    1. Buka halaman IAM:

      Buka halaman IAM

    2. Pilih project Anda lalu klik Buka.

    3. Di tabel izin, temukan ID email akun utama dan klik ikon pensil.

    4. Pilih peran Project > Viewer.

    5. Klik Save.

    Jika log build Anda berada di bucket Cloud Storage yang dibuat pengguna atau milik pengguna, berikan peran Storage Object Viewer kepada akun utama yang ingin melihat log build:

    1. Buka halaman IAM:

      Buka halaman IAM

    2. Pilih project Anda lalu klik Buka.

    3. Di tabel izin, temukan ID email akun utama dan klik ikon pensil.

    4. Pilih peran Cloud Storage > Storage Object Viewer.

    5. Klik Save.

Untuk melihat log build di Cloud Build:

Konsol

  1. Buka halaman Cloud Build di Konsol Google Cloud.

    Buka halaman Cloud Build

  2. Pilih project Anda lalu klik Buka.

  3. Di menu drop-down Region, pilih region untuk build Anda.

  4. Di halaman Build history, klik build tertentu.

  5. Di halaman Build details, pada bagian Steps, klik Build summary untuk melihat log build untuk seluruh build Anda atau klik langkah build guna melihat log build untuk langkah tersebut.

    Screenshot log build di halaman detail Build

  6. Jika log Anda disimpan di Logging, pada panel Build log, klik ikon untuk melihat log di Logs Explorer.

    Screenshot log build 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

Untuk melihat log build di GitHub dan GitHub Enterprise:

Jika 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:

  1. Buka repositori yang terkait dengan pemicu Anda.

  2. Buka daftar commit Anda.

  3. Temukan baris commit yang log build-nya ingin Anda lihat.

  4. Klik ikon hasil di baris commit Anda.

    Anda akan melihat daftar pemeriksaan yang terkait dengan commit Anda.

  5. Klik Details untuk baris yang ingin Anda lihat log build-nya.

    Anda akan melihat halaman Ringkasan yang dikaitkan dengan commit Anda. Jika telah membuat pemicu menggunakan flag --include-logs-with-status, Anda akan melihat log build ditampilkan di bagian Details halaman ini.

Hapus log build

Anda tidak dapat menghapus log build di bucket log yang dibuat Google.

Untuk menghapus log build di bucket log yang dibuat pengguna:

  1. Berikan peran Storage Object Admin kepada pengguna atau akun layanan yang menghapus log.

  2. Hapus log build menggunakan petunjuk untuk menghapus objek Cloud Storage dalam artikel Menghapus objek.

Untuk menghapus bucket log yang dibuat pengguna:

  1. Berikan peran Storage Admin kepada pengguna atau akun layanan yang menghapus bucket log.

  2. Hapus bucket log menggunakan petunjuk untuk menghapus bucket dalam Menghapus bucket.

Langkah selanjutnya