Membuat repositori standar

Halaman ini menjelaskan cara membuat repositori standar Artifact Registry.

Repositori standar adalah repositori untuk artefak pribadi Anda. Anda mengupload artefak ke dan mendownload artefak langsung dari repositori ini.

Mode repositori berikut juga tersedia untuk beberapa format artefak:

  • Repositori jarak jauh menyimpan artefak dari sumber eksternal seperti Docker Hub, Maven Central, atau PyPI.
  • Repositori virtual berfungsi sebagai satu titik akses untuk mendownload, menginstal, atau men-deploy artefak yang berada di repositori standar atau jarak jauh upstream.

Setiap repositori dapat berisi artefak untuk satu format yang didukung.

Sebelum memulai

  1. Aktifkan Artifact Registry, termasuk mengaktifkan Artifact Registry API dan menginstal Google Cloud CLI.
  2. (Opsional) Konfigurasikan default untuk perintah gcloud.
  3. Jika Anda memerlukan kunci enkripsi yang dikelola pelanggan (CMEK) untuk mengenkripsi konten repositori, buat dan aktifkan kunci di Cloud KMS untuk repositori.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan guna membuat repositori, minta administrator untuk memberi Anda peran IAM Artifact Registry Administrator (roles/artifactregistry.admin) di project Google Cloud . 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.

Membuat repositori standar

Saat membuat repositori, Anda harus mengonfigurasi setelan berikut yang tidak dapat diubah setelah repositori dibuat:

  • Format artefak.
  • Mode repositori, jika beberapa mode tersedia untuk format yang dipilih.
  • Lokasi repositori.
  • Enkripsi dengan kunci enkripsi milik Google dan dikelola Google atau kunci enkripsi yang dikelola pelanggan. Artifact Registry menggunakan kunci enkripsimilik Google dan dikelola Google secara default.

Artifact Registry menerapkan batasan kebijakan organisasi yang mewajibkan CMEK untuk mengenkripsi resource atau membatasi kunci Cloud KMS yang dapat digunakan untuk perlindungan CMEK.

Membuat repositori menggunakan konsol Google Cloud

  1. Buka halaman Repositori di konsol Google Cloud .

    Buka halaman Repositori

  2. Klik Create Repository.

  3. Tentukan nama repositori. Untuk setiap lokasi repositori dalam project, nama repositori harus unik.

  4. Pilih format repositori.

  5. Jika ada beberapa mode repositori yang tersedia, pilih Standar.

  6. Khusus Maven: Konfigurasikan kebijakan versi.

    1. Pilih kebijakan versi:

      • None - Tidak ada kebijakan versi. Menyimpan paket rilis dan snapshot.
      • Rilis - Hanya menyimpan paket rilis.
      • Snapshot - Hanya menyimpan paket snapshot.
    2. Jika Anda ingin repositori snapshot menerima snapshot non-unik yang menimpa versi yang ada di repositori, pilih Izinkan penggantian snapshot.

  7. Di bagian Jenis Lokasi, pilih lokasi untuk repositori:

    1. Pilih jenis lokasi: Region atau Multi-Region. Daftar lokasi akan berubah untuk mencerminkan pilihan Anda.

    2. Di daftar Region atau Multi-region, pilih lokasi.

    Untuk mengetahui informasi tentang jenis lokasi dan lokasi yang didukung, lihat Lokasi repositori

  8. Tambahkan deskripsi untuk repositori. Deskripsi membantu mengidentifikasi tujuan repositori dan jenis artefak yang dikandungnya.

    Jangan sertakan data sensitif, karena deskripsi repositori tidak dienkripsi.

  9. Jika Anda ingin menggunakan label untuk mengatur repositori, klik Tambahkan Label dan masukkan pasangan nilai kunci untuk label. Anda dapat menambahkan, mengedit, atau menghapus label setelah membuat repositori.

  10. Di bagian Encryption, pilih mekanisme enkripsi untuk repositori.

    • yang dikelola Google yang didukung Google Cloud - Mengenkripsi konten yang dimiliki dan dikelola Googleyang didukung Google Cloud.
    • Kunci yang dikelola pelanggan - Mengenkripsi konten repositori dengan kunci yang Anda kontrol melalui Cloud Key Management Service. Untuk petunjuk penyiapan kunci, lihat Menyiapkan CMEK untuk repositori.

    • Untuk repositori Docker, setelan Tag image yang tidak dapat diubah mengonfigurasi repositori Anda untuk menggunakan tag image yang selalu mengarah ke ringkasan image yang sama. Pengguna dengan peran administrator Artifact Registry dapat mengubah setelan ini setelah repositori dibuat.

      • Secara default, setelan ini dinonaktifkan. Tag gambar dapat diubah, yang berarti ringkasan gambar yang ditunjuk oleh tag dapat berubah.
      • Jika setelan ini diaktifkan, tag gambar tidak dapat diubah. Tag harus selalu menunjuk ke ringkasan gambar yang sama. Untuk mempelajari tag image yang dapat diubah dan tidak dapat diubah lebih lanjut, lihat Versi image container.
  11. Jika Anda ingin menggunakan kebijakan pembersihan untuk menghapus artefak yang tidak digunakan, di bagian Kebijakan pembersihan:

    1. Pilih Pengujian coba untuk menguji kebijakan Anda sebelum menerapkannya.
    2. Klik Tambahkan kebijakan untuk menambahkan kebijakan simpan atau hapus ke repositori Anda.
    3. Berikan nama deskriptif pada kebijakan pembersihan Anda di kolom Nama.
    4. Di bagian Jenis kebijakan, pilih salah satu dari:

      • Penghapusan bersyarat: menghapus artefak berdasarkan kondisi yang Anda tentukan.
      • Pemeliharaan bersyarat: mempertahankan artefak berdasarkan kondisi yang Anda tentukan.
      • Simpan versi terbaru: Menyimpan jumlah versi terbaru yang ditetapkan per paket.

      Untuk mengetahui detail selengkapnya tentang kebijakan pembersihan, lihat Mengonfigurasi kebijakan pembersihan.

  12. Di bagian Artifact Analysis, pilih setelan pemindaian kerentanan:

    • Enabled - Mengizinkan pemindaian di repositori ini. Container Scanning API harus diaktifkan di project Anda.

      Saat Anda mengaktifkan Container Scanning API, penagihan akan segera dimulai. Setelah Anda mengaktifkan Container Scanning API di project, pemindaian kerentanan akan diaktifkan untuk semua repositori baru dan lama. Saat Anda mengirimkan image ke Artifact Registry, image tersebut akan otomatis dipindai oleh Artifact Analysis.

    • Nonaktif - Mencegah pemindaian di repositori ini. Jika Container Scanning API diaktifkan di project Anda, pemindaian akan berlanjut di repositori lain; repositori ini akan dikecualikan.

      Untuk mengetahui informasi selengkapnya tentang opsi pemindaian kerentanan, lihat Mengaktifkan dan menonaktifkan pemindaian otomatis.

  13. Klik Create.

Artifact Registry membuat repositori dan menambahkannya ke daftar repositori.

Setelah membuat repositori:

Membuat repositori menggunakan Google Cloud CLI

Jalankan perintah untuk membuat repositori baru.

Apt

  gcloud artifacts repositories create REPOSITORY \
      --repository-format=apt \
      --location=LOCATION \
      --description="DESCRIPTION" \
      --kms-key=KMS-KEY \
      --async
  

Ganti kode berikut:

  • REPOSITORY: nama repositori. Untuk setiap lokasi repositori dalam project, nama repositori harus unik.
  • LOCATION: lokasi regional atau multi-regional untuk repositori. Anda dapat menghapus flag ini jika menetapkan default. Untuk melihat daftar lokasi yang didukung, jalankan perintah:
    gcloud artifacts locations list
  • DESCRIPTION: deskripsi repositori. Jangan sertakan data sensitif, karena deskripsi repositori tidak dienkripsi.
  • KMS-KEY: jalur lengkap ke kunci enkripsi Cloud KMS, jika Anda menggunakan kunci enkripsi yang dikelola pelanggan untuk mengenkripsi konten repositori. Jalurnya dalam format:
        projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

    Ganti kode berikut:

    • KMS-PROJECT: project tempat kunci Anda disimpan.
    • KMS-LOCATION: lokasi kunci.
    • KEY-RING: nama key ring.
    • KEY: nama kunci.
  • --async: segera ditampilkan, tanpa menunggu operasi yang sedang berlangsung selesai.

Docker

  gcloud artifacts repositories create REPOSITORY \
      --repository-format=docker \
      --location=LOCATION \
      --description="DESCRIPTION" \
      --kms-key=KMS-KEY \
      --immutable-tags \
      --async \
      --disable-vulnerability-scanning

Ganti kode berikut:

  • REPOSITORY: nama repositori. Untuk setiap lokasi repositori dalam project, nama repositori harus unik.

    • LOCATION: lokasi regional untuk repositori. Anda dapat menghapus flag ini jika menetapkan lokasi default. Untuk melihat daftar lokasi yang didukung, jalankan perintah:

      gcloud artifacts locations list
    • DESCRIPTION: deskripsi repositori. Jangan sertakan data sensitif, karena deskripsi repositori tidak dienkripsi.
    • KMS-KEY: jalur lengkap ke kunci enkripsi Cloud KMS, jika Anda menggunakan kunci enkripsi yang dikelola pelanggan untuk mengenkode konten repositori. Jalurnya dalam format:

      projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

      Ganti kode berikut:

      • KMS-PROJECT: project tempat kunci Anda disimpan.
      • KMS-LOCATION: lokasi kunci.
      • KEY-RING: nama key ring.
      • KEY: nama kunci.
    • --immutable-tags adalah flag opsional yang mengonfigurasi repositori Anda untuk menggunakan tag yang selalu mengarah ke ringkasan image yang sama.

      Secara default, jika flag --immutable-tags tidak diteruskan, tag dapat dipindahkan ke ringkasan image lain. Untuk mempelajari tag image yang tidak dapat diubah dan dapat diubah lebih lanjut, lihat Versi image container.

    • --async segera ditampilkan, tanpa menunggu operasi yang sedang berlangsung selesai.

    • --disable-vulnerability-scanning: adalah flag opsional yang mengonfigurasi repositori Anda untuk menonaktifkan pemindaian kerentanan otomatis.
    • --allow-vulnerability-scanning: adalah flag opsional yang mengonfigurasi repositori Anda untuk mengizinkan pemindaian kerentanan otomatis. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan atau menonaktifkan pemindaian otomatis.

Generik

  gcloud artifacts repositories create REPOSITORY \
      --repository-format=generic \
      --location=LOCATION \
      --description="DESCRIPTION" \
      --kms-key=KMS-KEY \
      --async
  

Ganti kode berikut:

  • REPOSITORY: nama repositori. Untuk setiap lokasi repositori dalam project, nama repositori harus unik.
  • LOCATION: lokasi regional atau multi-regional untuk repositori. Anda dapat menghapus flag ini jika menetapkan default. Untuk melihat daftar lokasi yang didukung, jalankan perintah:
    gcloud artifacts locations list
  • DESCRIPTION: deskripsi repositori. Jangan sertakan data sensitif, karena deskripsi repositori tidak dienkripsi.
  • KMS-KEY: jalur lengkap ke kunci enkripsi Cloud KMS, jika Anda menggunakan kunci enkripsi yang dikelola pelanggan untuk mengenkripsi konten repositori. Jalurnya dalam format:
        projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

    Ganti kode berikut:

    • KMS-PROJECT: project tempat kunci Anda disimpan.
    • KMS-LOCATION: lokasi kunci.
    • KEY-RING: nama key ring.
    • KEY: nama kunci.
  • --async: segera ditampilkan, tanpa menunggu operasi yang sedang berlangsung selesai.

Go

  gcloud artifacts repositories create REPOSITORY \
      --repository-format=go \
      --location=LOCATION \
      --description="DESCRIPTION" \
      --kms-key=KMS-KEY \
      --async
  

Ganti kode berikut:

  • REPOSITORY: nama repositori. Untuk setiap lokasi repositori dalam project, nama repositori harus unik.
  • LOCATION: lokasi regional atau multi-regional untuk repositori. Anda dapat menghapus flag ini jika menetapkan default. Untuk melihat daftar lokasi yang didukung, jalankan perintah:
    gcloud artifacts locations list
  • DESCRIPTION: deskripsi repositori. Jangan sertakan data sensitif, karena deskripsi repositori tidak dienkripsi.
  • KMS-KEY: jalur lengkap ke kunci enkripsi Cloud KMS, jika Anda menggunakan kunci enkripsi yang dikelola pelanggan untuk mengenkripsi konten repositori. Jalurnya dalam format:
        projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

    Ganti kode berikut:

    • KMS-PROJECT: project tempat kunci Anda disimpan.
    • KMS-LOCATION: lokasi kunci.
    • KEY-RING: nama key ring.
    • KEY: nama kunci.
  • --async: segera ditampilkan, tanpa menunggu operasi yang sedang berlangsung selesai.

KubeFlow Pipelines

  gcloud artifacts repositories create REPOSITORY \
      --repository-format=kfp \
      --location=LOCATION \
      --description="DESCRIPTION" \
      --kms-key=KMS-KEY \
      --async
  

Ganti kode berikut:

  • REPOSITORY: nama repositori. Untuk setiap lokasi repositori dalam project, nama repositori harus unik.
  • LOCATION: lokasi regional atau multi-regional untuk repositori. Anda dapat menghapus flag ini jika menetapkan default. Untuk melihat daftar lokasi yang didukung, jalankan perintah:
    gcloud artifacts locations list
  • DESCRIPTION: deskripsi repositori. Jangan sertakan data sensitif, karena deskripsi repositori tidak dienkripsi.
  • KMS-KEY: jalur lengkap ke kunci enkripsi Cloud KMS, jika Anda menggunakan kunci enkripsi yang dikelola pelanggan untuk mengenkripsi konten repositori. Jalurnya dalam format:
        projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

    Ganti kode berikut:

    • KMS-PROJECT: project tempat kunci Anda disimpan.
    • KMS-LOCATION: lokasi kunci.
    • KEY-RING: nama key ring.
    • KEY: nama kunci.
  • --async: segera ditampilkan, tanpa menunggu operasi yang sedang berlangsung selesai.

Maven

Secara default, repositori Maven menyimpan versi snapshot dan rilis paket. Anda dapat menentukan kebijakan versi untuk membuat snapshot atau rilis repositori.

Untuk membuat repositori yang menyimpan snapshot dan rilis, jalankan perintah:

  gcloud artifacts repositories create REPOSITORY \
      --repository-format=maven \
      --location=LOCATION \
      --description="DESCRIPTION" \
      --kms-key=KMS-KEY \
      --async
  

Ganti kode berikut:

  • REPOSITORY: nama repositori. Untuk setiap lokasi repositori dalam project, nama repositori harus unik.
  • LOCATION: lokasi regional atau multi-regional untuk repositori. Anda dapat menghapus flag ini jika menetapkan default. Untuk melihat daftar lokasi yang didukung, jalankan perintah:
    gcloud artifacts locations list
  • DESCRIPTION: deskripsi repositori. Jangan sertakan data sensitif, karena deskripsi repositori tidak dienkripsi.
  • KMS-KEY: jalur lengkap ke kunci enkripsi Cloud KMS, jika Anda menggunakan kunci enkripsi yang dikelola pelanggan untuk mengenkripsi konten repositori. Jalurnya dalam format:
        projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

    Ganti kode berikut:

    • KMS-PROJECT: project tempat kunci Anda disimpan.
    • KMS-LOCATION: lokasi kunci.
    • KEY-RING: nama key ring.
    • KEY: nama kunci.
  • --async: segera ditampilkan, tanpa menunggu operasi yang sedang berlangsung selesai.

Untuk menyimpan versi snapshot dan rilis di repositori yang berbeda, tentukan kebijakan versi dalam perintah:

  gcloud artifacts repositories create REPOSITORY \
      --repository-format=maven \
      [--location=LOCATION] \
      [--description="DESCRIPTION"] \
      [--kms-key=KMS-KEY] \
      [--version-policy=VERSION-POLICY] \
      [--allow-snapshot-overwrites] \
      [--async] \

Flag berikut khusus untuk repositori Maven:

--version-policy=VERSION-POLICY

Menentukan jenis paket yang akan disimpan di repositori. Anda dapat menetapkan VERSION-POLICY ke:

  • None - Tidak ada kebijakan versi. Menyimpan paket rilis dan snapshot. Jika Anda tidak menyertakan flag --version-policy dalam perintah, ini adalah setelan default.
  • Release - Hanya menyimpan paket rilis.
  • Snapshot - Hanya menyimpan paket snapshot.

--allow-snapshot-overwrites

Hanya untuk repositori snapshot. Jika menentukan tanda ini, Anda dapat memublikasikan snapshot non-unik yang menimpa versi yang ada di repositori.

npm

  gcloud artifacts repositories create REPOSITORY \
      --repository-format=npm \
      --location=LOCATION \
      --description="DESCRIPTION" \
      --kms-key=KMS-KEY \
      --async
  

Ganti kode berikut:

  • REPOSITORY: nama repositori. Untuk setiap lokasi repositori dalam project, nama repositori harus unik.
  • LOCATION: lokasi regional atau multi-regional untuk repositori. Anda dapat menghapus flag ini jika menetapkan default. Untuk melihat daftar lokasi yang didukung, jalankan perintah:
    gcloud artifacts locations list
  • DESCRIPTION: deskripsi repositori. Jangan sertakan data sensitif, karena deskripsi repositori tidak dienkripsi.
  • KMS-KEY: jalur lengkap ke kunci enkripsi Cloud KMS, jika Anda menggunakan kunci enkripsi yang dikelola pelanggan untuk mengenkripsi konten repositori. Jalurnya dalam format:
        projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

    Ganti kode berikut:

    • KMS-PROJECT: project tempat kunci Anda disimpan.
    • KMS-LOCATION: lokasi kunci.
    • KEY-RING: nama key ring.
    • KEY: nama kunci.
  • --async: segera ditampilkan, tanpa menunggu operasi yang sedang berlangsung selesai.

Python

  gcloud artifacts repositories create REPOSITORY \
      --repository-format=python \
      --location=LOCATION \
      --description="DESCRIPTION" \
      --kms-key=KMS-KEY \
      --async
  

Ganti kode berikut:

  • REPOSITORY: nama repositori. Untuk setiap lokasi repositori dalam project, nama repositori harus unik.
  • LOCATION: lokasi regional atau multi-regional untuk repositori. Anda dapat menghapus flag ini jika menetapkan default. Untuk melihat daftar lokasi yang didukung, jalankan perintah:
    gcloud artifacts locations list
  • DESCRIPTION: deskripsi repositori. Jangan sertakan data sensitif, karena deskripsi repositori tidak dienkripsi.
  • KMS-KEY: jalur lengkap ke kunci enkripsi Cloud KMS, jika Anda menggunakan kunci enkripsi yang dikelola pelanggan untuk mengenkripsi konten repositori. Jalurnya dalam format:
        projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

    Ganti kode berikut:

    • KMS-PROJECT: project tempat kunci Anda disimpan.
    • KMS-LOCATION: lokasi kunci.
    • KEY-RING: nama key ring.
    • KEY: nama kunci.
  • --async: segera ditampilkan, tanpa menunggu operasi yang sedang berlangsung selesai.

Yum

  gcloud artifacts repositories create REPOSITORY \
      --repository-format=yum \
      --location=LOCATION \
      --description="DESCRIPTION" \
      --kms-key=KMS-KEY \
      --async
  

Ganti kode berikut:

  • REPOSITORY: nama repositori. Untuk setiap lokasi repositori dalam project, nama repositori harus unik.
  • LOCATION: lokasi regional atau multi-regional untuk repositori. Anda dapat menghapus flag ini jika menetapkan default. Untuk melihat daftar lokasi yang didukung, jalankan perintah:
    gcloud artifacts locations list
  • DESCRIPTION: deskripsi repositori. Jangan sertakan data sensitif, karena deskripsi repositori tidak dienkripsi.
  • KMS-KEY: jalur lengkap ke kunci enkripsi Cloud KMS, jika Anda menggunakan kunci enkripsi yang dikelola pelanggan untuk mengenkripsi konten repositori. Jalurnya dalam format:
        projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

    Ganti kode berikut:

    • KMS-PROJECT: project tempat kunci Anda disimpan.
    • KMS-LOCATION: lokasi kunci.
    • KEY-RING: nama key ring.
    • KEY: nama kunci.
  • --async: segera ditampilkan, tanpa menunggu operasi yang sedang berlangsung selesai.

Artifact Registry akan membuat repositori Anda. Jalankan perintah berikut untuk melihat deskripsi repositori:

gcloud artifacts repositories describe REPOSITORY \
    --location=LOCATION

Setelah membuat repositori:

Membuat repositori menggunakan Terraform

Gunakan resource google_artifact_registry_repository untuk membuat repositori. Diperlukan versi 5.0.0 atau yang lebih baru dari terraform-provider-google.

Jika Anda baru menggunakan Terraform untuk Google Cloud, lihat halaman Mulai - Google Cloud di situs HashiCorp.

Contoh berikut menentukan penyedia dan repositori dengan nama resource Terraform my-repo.

Apt

  provider "google" {
      project = "PROJECT-ID"
  }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "apt" kms_key_name = "KEY" cleanup_policy_dry_run = DRY_RUN_STATUS cleanup_policies { id = "POLICY_NAME" action = "DELETE" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] older_than = "TIME_SINCE_UPLOAD" } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" most_recent_versions { package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] keep_count = KEEP_COUNT } } }

Ganti kode berikut:

  • PROJECT-ID adalah project ID Google Cloud .
  • LOCATION adalah lokasi repositori.
  • REPOSITORY adalah nama repositori.
  • DESCRIPTION adalah deskripsi opsional untuk repositori. Jangan sertakan data sensitif, karena deskripsi repositori tidak dienkripsi.
  • KEY adalah nama kunci Cloud Key Management Service, jika Anda menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) untuk enkripsi. Hapus argumen ini untuk menggunakan setelan default, kunci enkripsi yang dikelola Google.
  • DRY_RUN_STATUS menentukan apakah kebijakan pembersihan menghapus artefak, atau hanya mencatat artefak mana yang akan dihapus jika menetapkan kebijakan pembersihan di repositori. Hapus jika Anda tidak ingin menambahkan kebijakan pembersihan ke repositori.

    • true: menetapkan kebijakan untuk dijalankan dalam mode uji coba. Tidak ada artefak yang dihapus dalam mode uji coba.
    • false: menerapkan kebijakan pembersihan. Artefak dihapus atau disimpan bergantung pada kebijakan.

    Untuk mengetahui informasi selengkapnya tentang kebijakan pembersihan, lihat Mengonfigurasi kebijakan pembersihan.

  • POLICY_NAME adalah nama kebijakan pembersihan.

  • TAG_STATE adalah status tag tempat kebijakan akan diterapkan. Nilainya adalah tagged, untagged, dan any. any berlaku untuk artefak yang diberi tag dan tidak diberi tag. Jika repositori mengaktifkan tag yang tidak dapat diubah, artefak yang diberi tag tidak dapat dihapus.

  • TAG_PREFIX, TAG_PREFIX_N adalah awalan tag untuk menerapkan kebijakan.

  • PKG_PREFIX, PKG_PREFIX_N adalah awalan paket tempat kebijakan diterapkan.

  • TIME_SINCE_UPLOAD adalah waktu sejak versi artefak diupload ke repositori, yang ditentukan sebagai durasi. Anda dapat menentukan durasi detik, menit, jam, atau hari dengan menambahkan s, m, h, atau d.

  • KEEP_COUNT adalah jumlah versi artefak yang akan disimpan di repositori Anda.

Docker

  provider "google" {
      project = "PROJECT-ID"
  }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "docker" kms_key_name = "KEY" cleanup_policy_dry_run = DRY_RUN_STATUS cleanup_policies { id = "POLICY_NAME" action = "DELETE" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] older_than = "TIME_SINCE_UPLOAD" } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" most_recent_versions { package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] keep_count = KEEP_COUNT } } }

Ganti kode berikut:

  • PROJECT-ID adalah project ID Google Cloud .
  • LOCATION adalah lokasi repositori.
  • REPOSITORY adalah nama repositori.
  • DESCRIPTION adalah deskripsi opsional untuk repositori. Jangan sertakan data sensitif, karena deskripsi repositori tidak dienkripsi.
  • KEY adalah nama kunci Cloud Key Management Service, jika Anda menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) untuk enkripsi. Hapus argumen ini untuk menggunakan setelan default, kunci enkripsi yang dikelola Google.
  • DRY_RUN_STATUS menentukan apakah kebijakan pembersihan menghapus artefak, atau hanya mencatat artefak mana yang akan dihapus jika menetapkan kebijakan pembersihan di repositori. Hapus jika Anda tidak ingin menambahkan kebijakan pembersihan ke repositori.

    • true: menetapkan kebijakan untuk dijalankan dalam mode uji coba. Tidak ada artefak yang dihapus dalam mode uji coba.
    • false: menerapkan kebijakan pembersihan. Artefak dihapus atau disimpan bergantung pada kebijakan.

    Untuk mengetahui informasi selengkapnya tentang kebijakan pembersihan, lihat Mengonfigurasi kebijakan pembersihan.

  • POLICY_NAME adalah nama kebijakan pembersihan.

  • TAG_STATE adalah status tag tempat kebijakan akan diterapkan. Nilainya adalah tagged, untagged, dan any. any berlaku untuk artefak yang diberi tag dan tidak diberi tag. Jika repositori mengaktifkan tag yang tidak dapat diubah, artefak yang diberi tag tidak dapat dihapus.

  • TAG_PREFIX, TAG_PREFIX_N adalah awalan tag untuk menerapkan kebijakan.

  • PKG_PREFIX, PKG_PREFIX_N adalah awalan paket tempat kebijakan diterapkan.

  • TIME_SINCE_UPLOAD adalah waktu sejak versi artefak diupload ke repositori, yang ditentukan sebagai durasi. Anda dapat menentukan durasi detik, menit, jam, atau hari dengan menambahkan s, m, h, atau d.

  • KEEP_COUNT adalah jumlah versi artefak yang akan disimpan di repositori Anda.

Generik

  provider "google" {
      project = "PROJECT-ID"
  }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "generic" kms_key_name = "KEY" cleanup_policy_dry_run = DRY_RUN_STATUS cleanup_policies { id = "POLICY_NAME" action = "DELETE" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] older_than = "TIME_SINCE_UPLOAD" } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" most_recent_versions { package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] keep_count = KEEP_COUNT } } }

Ganti kode berikut:

  • PROJECT-ID adalah project ID Google Cloud .
  • LOCATION adalah lokasi repositori.
  • REPOSITORY adalah nama repositori.
  • DESCRIPTION adalah deskripsi opsional untuk repositori. Jangan sertakan data sensitif, karena deskripsi repositori tidak dienkripsi.
  • KEY adalah nama kunci Cloud Key Management Service, jika Anda menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) untuk enkripsi. Hapus argumen ini untuk menggunakan setelan default, kunci enkripsi yang dikelola Google.
  • DRY_RUN_STATUS menentukan apakah kebijakan pembersihan menghapus artefak, atau hanya mencatat artefak mana yang akan dihapus jika menetapkan kebijakan pembersihan di repositori. Hapus jika Anda tidak ingin menambahkan kebijakan pembersihan ke repositori.

    • true: menetapkan kebijakan untuk dijalankan dalam mode uji coba. Tidak ada artefak yang dihapus dalam mode uji coba.
    • false: menerapkan kebijakan pembersihan. Artefak dihapus atau disimpan bergantung pada kebijakan.

    Untuk mengetahui informasi selengkapnya tentang kebijakan pembersihan, lihat Mengonfigurasi kebijakan pembersihan.

  • POLICY_NAME adalah nama kebijakan pembersihan.

  • TAG_STATE adalah status tag tempat kebijakan akan diterapkan. Nilainya adalah tagged, untagged, dan any. any berlaku untuk artefak yang diberi tag dan tidak diberi tag. Jika repositori mengaktifkan tag yang tidak dapat diubah, artefak yang diberi tag tidak dapat dihapus.

  • TAG_PREFIX, TAG_PREFIX_N adalah awalan tag untuk menerapkan kebijakan.

  • PKG_PREFIX, PKG_PREFIX_N adalah awalan paket tempat kebijakan diterapkan.

  • TIME_SINCE_UPLOAD adalah waktu sejak versi artefak diupload ke repositori, yang ditentukan sebagai durasi. Anda dapat menentukan durasi detik, menit, jam, atau hari dengan menambahkan s, m, h, atau d.

  • KEEP_COUNT adalah jumlah versi artefak yang akan disimpan di repositori Anda.

Go

  provider "google" {
      project = "PROJECT-ID"
  }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "go" kms_key_name = "KEY" cleanup_policy_dry_run = DRY_RUN_STATUS cleanup_policies { id = "POLICY_NAME" action = "DELETE" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] older_than = "TIME_SINCE_UPLOAD" } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" most_recent_versions { package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] keep_count = KEEP_COUNT } } }

Ganti kode berikut:

  • PROJECT-ID adalah project ID Google Cloud .
  • LOCATION adalah lokasi repositori.
  • REPOSITORY adalah nama repositori.
  • DESCRIPTION adalah deskripsi opsional untuk repositori. Jangan sertakan data sensitif, karena deskripsi repositori tidak dienkripsi.
  • KEY adalah nama kunci Cloud Key Management Service, jika Anda menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) untuk enkripsi. Hapus argumen ini untuk menggunakan setelan default, kunci enkripsi yang dikelola Google.
  • DRY_RUN_STATUS menentukan apakah kebijakan pembersihan menghapus artefak, atau hanya mencatat artefak mana yang akan dihapus jika menetapkan kebijakan pembersihan di repositori. Hapus jika Anda tidak ingin menambahkan kebijakan pembersihan ke repositori.

    • true: menetapkan kebijakan untuk dijalankan dalam mode uji coba. Tidak ada artefak yang dihapus dalam mode uji coba.
    • false: menerapkan kebijakan pembersihan. Artefak dihapus atau disimpan bergantung pada kebijakan.

    Untuk mengetahui informasi selengkapnya tentang kebijakan pembersihan, lihat Mengonfigurasi kebijakan pembersihan.

  • POLICY_NAME adalah nama kebijakan pembersihan.

  • TAG_STATE adalah status tag tempat kebijakan akan diterapkan. Nilainya adalah tagged, untagged, dan any. any berlaku untuk artefak yang diberi tag dan tidak diberi tag. Jika repositori mengaktifkan tag yang tidak dapat diubah, artefak yang diberi tag tidak dapat dihapus.

  • TAG_PREFIX, TAG_PREFIX_N adalah awalan tag untuk menerapkan kebijakan.

  • PKG_PREFIX, PKG_PREFIX_N adalah awalan paket tempat kebijakan diterapkan.

  • TIME_SINCE_UPLOAD adalah waktu sejak versi artefak diupload ke repositori, yang ditentukan sebagai durasi. Anda dapat menentukan durasi detik, menit, jam, atau hari dengan menambahkan s, m, h, atau d.

  • KEEP_COUNT adalah jumlah versi artefak yang akan disimpan di repositori Anda.

KubeFlow Pipelines

  provider "google" {
      project = "PROJECT-ID"
  }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "kfp" kms_key_name = "KEY" cleanup_policy_dry_run = DRY_RUN_STATUS cleanup_policies { id = "POLICY_NAME" action = "DELETE" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] older_than = "TIME_SINCE_UPLOAD" } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" most_recent_versions { package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] keep_count = KEEP_COUNT } } }

Ganti kode berikut:

  • PROJECT-ID adalah project ID Google Cloud .
  • LOCATION adalah lokasi repositori.
  • REPOSITORY adalah nama repositori.
  • DESCRIPTION adalah deskripsi opsional untuk repositori. Jangan sertakan data sensitif, karena deskripsi repositori tidak dienkripsi.
  • KEY adalah nama kunci Cloud Key Management Service, jika Anda menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) untuk enkripsi. Hapus argumen ini untuk menggunakan setelan default, kunci enkripsi yang dikelola Google.
  • DRY_RUN_STATUS menentukan apakah kebijakan pembersihan menghapus artefak, atau hanya mencatat artefak mana yang akan dihapus jika menetapkan kebijakan pembersihan di repositori. Hapus jika Anda tidak ingin menambahkan kebijakan pembersihan ke repositori.

    • true: menetapkan kebijakan untuk dijalankan dalam mode uji coba. Tidak ada artefak yang dihapus dalam mode uji coba.
    • false: menerapkan kebijakan pembersihan. Artefak dihapus atau disimpan bergantung pada kebijakan.

    Untuk mengetahui informasi selengkapnya tentang kebijakan pembersihan, lihat Mengonfigurasi kebijakan pembersihan.

  • POLICY_NAME adalah nama kebijakan pembersihan.

  • TAG_STATE adalah status tag tempat kebijakan akan diterapkan. Nilainya adalah tagged, untagged, dan any. any berlaku untuk artefak yang diberi tag dan tidak diberi tag. Jika repositori mengaktifkan tag yang tidak dapat diubah, artefak yang diberi tag tidak dapat dihapus.

  • TAG_PREFIX, TAG_PREFIX_N adalah awalan tag untuk menerapkan kebijakan.

  • PKG_PREFIX, PKG_PREFIX_N adalah awalan paket tempat kebijakan diterapkan.

  • TIME_SINCE_UPLOAD adalah waktu sejak versi artefak diupload ke repositori, yang ditentukan sebagai durasi. Anda dapat menentukan durasi detik, menit, jam, atau hari dengan menambahkan s, m, h, atau d.

  • KEEP_COUNT adalah jumlah versi artefak yang akan disimpan di repositori Anda.

Maven

Jika Anda tidak menentukan kebijakan versi, Artifact Registry akan membuat repositori Maven yang menyimpan versi snapshot dan rilis paket secara default.

  provider "google" {
      project = "PROJECT-ID"
  }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "maven" kms_key_name = "KEY" cleanup_policy_dry_run = DRY_RUN_STATUS cleanup_policies { id = "POLICY_NAME" action = "DELETE" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] older_than = "TIME_SINCE_UPLOAD" } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" most_recent_versions { package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] keep_count = KEEP_COUNT } } }

Ganti kode berikut:

  • PROJECT-ID adalah project ID Google Cloud .
  • LOCATION adalah lokasi repositori.
  • REPOSITORY adalah nama repositori.
  • DESCRIPTION adalah deskripsi opsional untuk repositori. Jangan sertakan data sensitif, karena deskripsi repositori tidak dienkripsi.
  • KEY adalah nama kunci Cloud Key Management Service, jika Anda menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) untuk enkripsi. Hapus argumen ini untuk menggunakan setelan default, kunci enkripsi yang dikelola Google.
  • DRY_RUN_STATUS menentukan apakah kebijakan pembersihan menghapus artefak, atau hanya mencatat artefak mana yang akan dihapus jika menetapkan kebijakan pembersihan di repositori. Hapus jika Anda tidak ingin menambahkan kebijakan pembersihan ke repositori.

    • true: menetapkan kebijakan untuk dijalankan dalam mode uji coba. Tidak ada artefak yang dihapus dalam mode uji coba.
    • false: menerapkan kebijakan pembersihan. Artefak dihapus atau disimpan bergantung pada kebijakan.

    Untuk mengetahui informasi selengkapnya tentang kebijakan pembersihan, lihat Mengonfigurasi kebijakan pembersihan.

  • POLICY_NAME adalah nama kebijakan pembersihan.

  • TAG_STATE adalah status tag tempat kebijakan akan diterapkan. Nilainya adalah tagged, untagged, dan any. any berlaku untuk artefak yang diberi tag dan tidak diberi tag. Jika repositori mengaktifkan tag yang tidak dapat diubah, artefak yang diberi tag tidak dapat dihapus.

  • TAG_PREFIX, TAG_PREFIX_N adalah awalan tag untuk menerapkan kebijakan.

  • PKG_PREFIX, PKG_PREFIX_N adalah awalan paket tempat kebijakan diterapkan.

  • TIME_SINCE_UPLOAD adalah waktu sejak versi artefak diupload ke repositori, yang ditentukan sebagai durasi. Anda dapat menentukan durasi detik, menit, jam, atau hari dengan menambahkan s, m, h, atau d.

  • KEEP_COUNT adalah jumlah versi artefak yang akan disimpan di repositori Anda.

    Untuk menyimpan versi snapshot dan rilis di repositori yang berbeda, tentukan kebijakan versi untuk repositori menggunakan blok maven_config. Blok ini mendukung setelan berikut:

  • version_policy menetapkan kebijakan versi dengan salah satu nilai berikut:

    • VERSION_POLICY_UNSPECIFIED: Menyimpan snapshot dan paket rilis. Ini adalah setelan default.
    • RELEASE: Hanya menyimpan paket rilis.
    • SNAPSHOT: Hanya menyimpan paket snapshot.
  • allow_snapshot_overwrites mengonfigurasi repositori dengan kebijakan versi SNAPSHOT untuk menerima snapshot non-unik yang menimpa versi yang ada di repositori.

    Contoh berikut menentukan repositori Maven dengan kebijakan versi rilis.

    provider "google" {
      project = "my-project"
    }
    
    resource "google_artifact_registry_repository" "my-repo" {
      provider = google-beta
    
      location = "us-central1"
      repository_id = "my-repo"
      description = "Maven repository"
      format = "MAVEN"
      maven_config {
        version_policy = "RELEASE"
      }
    }
    

npm

  provider "google" {
      project = "PROJECT-ID"
  }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "npm" kms_key_name = "KEY" cleanup_policy_dry_run = DRY_RUN_STATUS cleanup_policies { id = "POLICY_NAME" action = "DELETE" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] older_than = "TIME_SINCE_UPLOAD" } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" most_recent_versions { package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] keep_count = KEEP_COUNT } } }

Ganti kode berikut:

  • PROJECT-ID adalah project ID Google Cloud .
  • LOCATION adalah lokasi repositori.
  • REPOSITORY adalah nama repositori.
  • DESCRIPTION adalah deskripsi opsional untuk repositori. Jangan sertakan data sensitif, karena deskripsi repositori tidak dienkripsi.
  • KEY adalah nama kunci Cloud Key Management Service, jika Anda menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) untuk enkripsi. Hapus argumen ini untuk menggunakan setelan default, kunci enkripsi yang dikelola Google.
  • DRY_RUN_STATUS menentukan apakah kebijakan pembersihan menghapus artefak, atau hanya mencatat artefak mana yang akan dihapus jika menetapkan kebijakan pembersihan di repositori. Hapus jika Anda tidak ingin menambahkan kebijakan pembersihan ke repositori.

    • true: menetapkan kebijakan untuk dijalankan dalam mode uji coba. Tidak ada artefak yang dihapus dalam mode uji coba.
    • false: menerapkan kebijakan pembersihan. Artefak dihapus atau disimpan bergantung pada kebijakan.

    Untuk mengetahui informasi selengkapnya tentang kebijakan pembersihan, lihat Mengonfigurasi kebijakan pembersihan.

  • POLICY_NAME adalah nama kebijakan pembersihan.

  • TAG_STATE adalah status tag tempat kebijakan akan diterapkan. Nilainya adalah tagged, untagged, dan any. any berlaku untuk artefak yang diberi tag dan tidak diberi tag. Jika repositori mengaktifkan tag yang tidak dapat diubah, artefak yang diberi tag tidak dapat dihapus.

  • TAG_PREFIX, TAG_PREFIX_N adalah awalan tag untuk menerapkan kebijakan.

  • PKG_PREFIX, PKG_PREFIX_N adalah awalan paket tempat kebijakan diterapkan.

  • TIME_SINCE_UPLOAD adalah waktu sejak versi artefak diupload ke repositori, yang ditentukan sebagai durasi. Anda dapat menentukan durasi detik, menit, jam, atau hari dengan menambahkan s, m, h, atau d.

  • KEEP_COUNT adalah jumlah versi artefak yang akan disimpan di repositori Anda.

Python

  provider "google" {
      project = "PROJECT-ID"
  }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "python" kms_key_name = "KEY" cleanup_policy_dry_run = DRY_RUN_STATUS cleanup_policies { id = "POLICY_NAME" action = "DELETE" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] older_than = "TIME_SINCE_UPLOAD" } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" most_recent_versions { package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] keep_count = KEEP_COUNT } } }

Ganti kode berikut:

  • PROJECT-ID adalah project ID Google Cloud .
  • LOCATION adalah lokasi repositori.
  • REPOSITORY adalah nama repositori.
  • DESCRIPTION adalah deskripsi opsional untuk repositori. Jangan sertakan data sensitif, karena deskripsi repositori tidak dienkripsi.
  • KEY adalah nama kunci Cloud Key Management Service, jika Anda menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) untuk enkripsi. Hapus argumen ini untuk menggunakan setelan default, kunci enkripsi yang dikelola Google.
  • DRY_RUN_STATUS menentukan apakah kebijakan pembersihan menghapus artefak, atau hanya mencatat artefak mana yang akan dihapus jika menetapkan kebijakan pembersihan di repositori. Hapus jika Anda tidak ingin menambahkan kebijakan pembersihan ke repositori.

    • true: menetapkan kebijakan untuk dijalankan dalam mode uji coba. Tidak ada artefak yang dihapus dalam mode uji coba.
    • false: menerapkan kebijakan pembersihan. Artefak dihapus atau disimpan bergantung pada kebijakan.

    Untuk mengetahui informasi selengkapnya tentang kebijakan pembersihan, lihat Mengonfigurasi kebijakan pembersihan.

  • POLICY_NAME adalah nama kebijakan pembersihan.

  • TAG_STATE adalah status tag tempat kebijakan akan diterapkan. Nilainya adalah tagged, untagged, dan any. any berlaku untuk artefak yang diberi tag dan tidak diberi tag. Jika repositori mengaktifkan tag yang tidak dapat diubah, artefak yang diberi tag tidak dapat dihapus.

  • TAG_PREFIX, TAG_PREFIX_N adalah awalan tag untuk menerapkan kebijakan.

  • PKG_PREFIX, PKG_PREFIX_N adalah awalan paket tempat kebijakan diterapkan.

  • TIME_SINCE_UPLOAD adalah waktu sejak versi artefak diupload ke repositori, yang ditentukan sebagai durasi. Anda dapat menentukan durasi detik, menit, jam, atau hari dengan menambahkan s, m, h, atau d.

  • KEEP_COUNT adalah jumlah versi artefak yang akan disimpan di repositori Anda.

Yum

  provider "google" {
      project = "PROJECT-ID"
  }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "yum" kms_key_name = "KEY" cleanup_policy_dry_run = DRY_RUN_STATUS cleanup_policies { id = "POLICY_NAME" action = "DELETE" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] older_than = "TIME_SINCE_UPLOAD" } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" most_recent_versions { package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] keep_count = KEEP_COUNT } } }

Ganti kode berikut:

  • PROJECT-ID adalah project ID Google Cloud .
  • LOCATION adalah lokasi repositori.
  • REPOSITORY adalah nama repositori.
  • DESCRIPTION adalah deskripsi opsional untuk repositori. Jangan sertakan data sensitif, karena deskripsi repositori tidak dienkripsi.
  • KEY adalah nama kunci Cloud Key Management Service, jika Anda menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) untuk enkripsi. Hapus argumen ini untuk menggunakan setelan default, kunci enkripsi yang dikelola Google.
  • DRY_RUN_STATUS menentukan apakah kebijakan pembersihan menghapus artefak, atau hanya mencatat artefak mana yang akan dihapus jika menetapkan kebijakan pembersihan di repositori. Hapus jika Anda tidak ingin menambahkan kebijakan pembersihan ke repositori.

    • true: menetapkan kebijakan untuk dijalankan dalam mode uji coba. Tidak ada artefak yang dihapus dalam mode uji coba.
    • false: menerapkan kebijakan pembersihan. Artefak dihapus atau disimpan bergantung pada kebijakan.

    Untuk mengetahui informasi selengkapnya tentang kebijakan pembersihan, lihat Mengonfigurasi kebijakan pembersihan.

  • POLICY_NAME adalah nama kebijakan pembersihan.

  • TAG_STATE adalah status tag tempat kebijakan akan diterapkan. Nilainya adalah tagged, untagged, dan any. any berlaku untuk artefak yang diberi tag dan tidak diberi tag. Jika repositori mengaktifkan tag yang tidak dapat diubah, artefak yang diberi tag tidak dapat dihapus.

  • TAG_PREFIX, TAG_PREFIX_N adalah awalan tag untuk menerapkan kebijakan.

  • PKG_PREFIX, PKG_PREFIX_N adalah awalan paket tempat kebijakan diterapkan.

  • TIME_SINCE_UPLOAD adalah waktu sejak versi artefak diupload ke repositori, yang ditentukan sebagai durasi. Anda dapat menentukan durasi detik, menit, jam, atau hari dengan menambahkan s, m, h, atau d.

  • KEEP_COUNT adalah jumlah versi artefak yang akan disimpan di repositori Anda.

Artifact Registry akan membuat repositori Anda. Jalankan perintah berikut untuk melihat deskripsi repositori:

gcloud artifacts repositories describe REPOSITORY \
    --location=LOCATION

Setelah membuat repositori:

Mengedit deskripsi repositori

Anda dapat mengubah deskripsi repositori dari konsol Google Cloud atau gcloud CLI.

Konsol

  1. Buka halaman Repositori di konsol Google Cloud .

    Buka halaman Repositori

  2. Dalam daftar repositori, pilih repositori, lalu klik Edit Repositori.

  3. Edit deskripsi repositori, lalu klik Simpan.

gcloud

Untuk memperbarui deskripsi repositori, jalankan perintah:

gcloud artifacts repositories update REPOSITORY \
    --project=PROJECT \
    --location=LOCATION \
    --description="DESCRIPTION"

Ganti kode berikut:

  • REPOSITORY: nama repositori. Jika mengonfigurasi repositori default, Anda dapat menghapus tanda ini untuk menggunakan default.
  • PROJECT: project ID Google Cloud. Jika flag ini dihilangkan, project saat ini atau default akan digunakan.
  • LOCATION adalah lokasi repositori regional atau multi-regional. Gunakan flag ini untuk melihat repositori di lokasi tertentu. Jika Anda mengonfigurasi lokasi default, Anda dapat menghilangkan tanda ini untuk menggunakan default.
  • DESCRIPTION: deskripsi untuk repositori.

Langkah selanjutnya