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 ada di repositori upstream standar atau jarak jauh.

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) Konfigurasi 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 Anda untuk memberi Anda peran IAM Administrator Artifact Registry (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 Google-owned and Google-managed encryption keys atau kunci enkripsi yang dikelola pelanggan. Artifact Registry menggunakan Google-owned and Google-managed encryption keys 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 Repositories 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 beberapa mode repositori tersedia, pilih Standar.

  6. Maven saja: Konfigurasi kebijakan versi.

    1. Pilih kebijakan versi:

      • Tidak ada - Tidak ada kebijakan versi. Simpan paket rilis dan snapshot.
      • Rilis - Hanya menyimpan paket rilis.
      • Snapshot - Hanya menyimpan paket snapshot.
    2. Jika Anda ingin repositori snapshot menerima snapshot tidak unik yang menimpa versi yang ada di repositori, pilih Izinkan penimpaan 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 ada di dalamnya.

    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 Enkripsi, pilih mekanisme enkripsi untuk repositori.

    • Google-managed encryption key - Mengenkripsi konten repositori dengan Google-owned and Google-managed encryption key.
    • Kunci yang dikelola pelanggan - Enkripsi konten repositori dengan kunci yang Anda kontrol melalui Cloud Key Management Service. Untuk mengetahui 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 berubah, 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 lebih lanjut tag image yang dapat diubah dan tidak dapat diubah, lihat Versi image container.
  11. Jika Anda ingin menggunakan kebijakan pembersihan untuk menghapus artefak yang tidak digunakan, di bagian Kebijakan pembersihan:

    1. Pilih Uji coba untuk menguji kebijakan Anda sebelum menerapkannya.
    2. Klik Tambahkan kebijakan untuk menambahkan kebijakan penyimpanan atau penghapusan ke repositori Anda.
    3. Beri kebijakan pembersihan Anda nama deskriptif di kolom Nama.
    4. Di bagian Jenis kebijakan, pilih salah satu opsi berikut:

      • Penghapusan bersyarat: menghapus artefak berdasarkan kondisi yang Anda tentukan.
      • Penyimpanan bersyarat: menyimpan artefak berdasarkan kondisi yang Anda tentukan.
      • Pertahankan versi terbaru: Mempertahankan sejumlah versi terbaru per paket.

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

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

    • Diaktifkan - Izinkan 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 sebuah project, pemindaian kerentanan akan diaktifkan untuk semua repositori baru dan yang sudah ada. Saat Anda mengirim image ke Artifact Registry, image tersebut akan otomatis dipindai oleh Artifact Analysis.

    • Dinonaktifkan - 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 Buat.

Artifact Registry membuat repositori dan menambahkannya ke daftar repositori.

Setelah Anda 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 Anda 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. Jalur 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: langsung 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 tanda ini jika Anda 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 mengenkripsi konten repositori. Jalur 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 tanda opsional yang mengonfigurasi repositori Anda untuk menggunakan tag yang selalu mengarah ke ringkasan image yang sama.

      Secara default, saat tanda --immutable-tags tidak diteruskan, tag dapat dipindahkan ke ringkasan gambar lain. Untuk mempelajari lebih lanjut tag image yang tidak dapat diubah dan dapat diubah, 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 Anda 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. Jalur 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: langsung 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 Anda 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. Jalur 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: langsung ditampilkan, tanpa menunggu operasi yang sedang berlangsung selesai.

Pipeline KubeFlow

  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 Anda 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. Jalur 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 merilis 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 Anda 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. Jalur 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 snapshot dan merilis versi 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 menyetel VERSION-POLICY ke:

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

--allow-snapshot-overwrites

Hanya untuk repositori snapshot. Jika menentukan tanda ini, Anda dapat memublikasikan snapshot tidak 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 Anda 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. Jalur 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: langsung 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 Anda 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. Jalur 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.

Enak

  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 Anda 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. Jalur 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 Anda membuat repositori:

Membuat repositori menggunakan Terraform

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

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

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

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

  • POLICY_NAME adalah nama kebijakan pembersihan.

  • TAG_STATE adalah status tag untuk menerapkan kebijakan. 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 untuk menerapkan kebijakan.

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

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

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

  • POLICY_NAME adalah nama kebijakan pembersihan.

  • TAG_STATE adalah status tag untuk menerapkan kebijakan. 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 untuk menerapkan kebijakan.

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

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

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

  • POLICY_NAME adalah nama kebijakan pembersihan.

  • TAG_STATE adalah status tag untuk menerapkan kebijakan. 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 untuk menerapkan kebijakan.

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

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

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

  • POLICY_NAME adalah nama kebijakan pembersihan.

  • TAG_STATE adalah status tag untuk menerapkan kebijakan. 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 untuk menerapkan kebijakan.

  • 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.

Pipeline KubeFlow

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

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

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

  • POLICY_NAME adalah nama kebijakan pembersihan.

  • TAG_STATE adalah status tag untuk menerapkan kebijakan. 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 untuk menerapkan kebijakan.

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

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

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

  • POLICY_NAME adalah nama kebijakan pembersihan.

  • TAG_STATE adalah status tag untuk menerapkan kebijakan. 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 untuk menerapkan kebijakan.

  • 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 merilis paket. Ini adalah setelan default.
    • RILIS: Hanya menyimpan paket rilis.
    • SNAPSHOT: Hanya menyimpan paket snapshot.
  • allow_snapshot_overwrites mengonfigurasi repositori dengan kebijakan versi SNAPSHOT untuk menerima snapshot non-unik yang menggantikan 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 Google Cloud project ID.
  • LOCATION adalah lokasi repositori.
  • REPOSITORY adalah nama repositori.
  • DESCRIPTION adalah deskripsi opsional untuk repositori. Jangan sertakan data sensitif, karena deskripsi repositori tidak dienkripsi.
  • KEYadalah nama kunci Cloud Key Management Service, jika Anda menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) untuk enkripsi. Hapus argumen ini untuk menggunakan setelan default, yaitu kunci enkripsi yang dikelola Google.
  • DRY_RUN_STATUS menentukan apakah kebijakan pembersihan menghapus artefak, atau hanya mencatat artefak mana yang akan dihapus jika kebijakan pembersihan ditetapkan di repositori. Hapus jika Anda tidak ingin menambahkan kebijakan pembersihan ke repositori.

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

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

  • POLICY_NAME adalah nama kebijakan pembersihan.

  • TAG_STATE adalah status tag untuk menerapkan kebijakan. 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 untuk menerapkan kebijakan.

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

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

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

  • POLICY_NAME adalah nama kebijakan pembersihan.

  • TAG_STATE adalah status tag untuk menerapkan kebijakan. 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 untuk menerapkan kebijakan.

  • 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.

Enak

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

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

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

  • POLICY_NAME adalah nama kebijakan pembersihan.

  • TAG_STATE adalah status tag untuk menerapkan kebijakan. 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 untuk menerapkan kebijakan.

  • 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 Anda membuat repositori:

Mengedit deskripsi repositori

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

Konsol

  1. Buka halaman Repositories di konsol Google Cloud .

    Buka halaman Repositori

  2. Di daftar repositori, pilih repositori, lalu klik Edit Repository.

  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 Anda mengonfigurasi repositori default, Anda dapat menghapus tanda ini untuk menggunakan default.
  • PROJECT: ID project. Google CloudJika flag ini dihilangkan, project saat ini atau default akan digunakan.
  • LOCATION adalah lokasi repositori regional atau multi-regional. Gunakan tanda 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 berikutnya