Mengelola metadata penampung

Halaman ini menjelaskan cara membuat container, mengupload ke Artifact Registry, dan mengelola metadata tentang image container yang disimpan di Artifact Registry sebagai lampiran.

Lampiran adalah artefak OCI dan hanya dapat disimpan di repositori berformat Docker.

Sebelum memulai

  1. Jika Anda belum memilikinya, buat repositori standar berformat Docker.
  2. (Opsional) Mengonfigurasi setelan default untuk perintah Google Cloud CLI.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk mengelola lampiran, minta administrator Anda untuk memberi Anda peran IAM berikut di repositori:

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.

Menyiapkan Oras (opsional)

Selain menggunakan gcloud CLI, Anda dapat menggunakan Oras secara opsional untuk membuat, mencantumkan, dan mendownload lampiran.

  1. Instal Oras 1.2 atau yang lebih baru. Untuk memverifikasi versi Anda, jalankan perintah oras version.

  2. Konfigurasikan Oras untuk authenticate dengan Artifact Registry.

Membuat lampiran

Anda dapat membuat lampiran menggunakan gcloud CLI atau Oras.

gcloud

Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

  • ATTACHMENT: nama lengkap lampiran. Misalnya, projects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment. Atau, berikan hanya ID lampiran dan gunakan flag --location dan --repository.
  • TARGET: nama versi yang sepenuhnya memenuhi syarat atau URI Artifact Registry dari artefak yang akan dirujuk oleh lampiran. Anda dapat menggunakan ringkasan atau tag. Misalnya, us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1.
  • TYPE: atribut type lampiran. Hal ini harus sesuai dengan spesifikasi OCI untuk properti artifactType.
  • ATTACHMENT_NAMESPACE: variabel khusus untuk lampiran yang mengidentifikasi sumber data lampiran. Contoh, example.com.
  • FILES: daftar file lokal yang dipisahkan koma yang akan disertakan dalam lampiran.
    • Jalankan perintah berikut:

      Linux, macOS, atau Cloud Shell

      gcloud artifacts attachments create ATTACHMENT \
          --target=TARGET \
          --type=TYPE \
          --attachment-namespace=ATTACHMENT_NAMESPACE \
          --files=FILES

      Windows (PowerShell)

      gcloud artifacts attachments create ATTACHMENT `
          --target=TARGET `
          --type=TYPE `
          --attachment-namespace=ATTACHMENT_NAMESPACE `
          --files=FILES

      Windows (cmd.exe)

      gcloud artifacts attachments create ATTACHMENT ^
          --target=TARGET ^
          --type=TYPE ^
          --attachment-namespace=ATTACHMENT_NAMESPACE ^
          --files=FILES
      Untuk informasi selengkapnya, lihat perintah gcloud artifacts attachments create.

Oras

Saat membuat lampiran dengan Oras, Artifact Registry akan membuat UUID acak untuk digunakan sebagai nama lampiran.

Sebelum menjalankan perintah, buat penggantian berikut:

  • ARTIFACT_TYPE: artifactType lampiran.

  • IMAGE_URI: URI untuk penampung gambar yang dirujuk lampiran.

  • FILE: file lokal yang akan disertakan sebagai metadata dalam lampiran.

  • MEDIA_TYPE: mediaType lapisan.

  oras attach --artifact-type ARTIFACT_TYPE IMAGE_URI FILE:MEDIA_TYPE

Contoh berikut membuat lampiran yang terdiri dari file, hello-world.txt, yang merujuk ke image penampung, my-image, yang diidentifikasi oleh URI dan tag-nya:

  oras attach --artifact-type doc/example \
  us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1 \
  hello-world.txt:application/vnd.me.hi

Dengan keterangan:

  • doc/example menentukan properti artifactType lampiran.

  • us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1 adalah URI yang menyertakan tag versi image container yang akan dirujuk oleh lampiran.

  • hello-world.txt adalah file lokal yang akan disimpan lampiran sebagai datanya.

  • application/vnd.me.hi menentukan mediaType lapisan.

Untuk panduan lengkap dan contoh lainnya, lihat dokumentasi oras attach.

Membuat daftar lampiran

Image container dapat memiliki sejumlah lampiran yang merujuk ke image tersebut. Anda dapat membuat daftar lampiran menggunakan konsol Google Cloud, gcloud CLI, atau Oras.

Konsol

  1. Di konsol Google Cloud, buka halaman Repositories.

    Buka halaman Repositori

  2. Klik nama repositori untuk melihat image di repositori Anda.

  3. Untuk melihat versi gambar, klik nama gambar.

  4. Klik versi gambar yang sesuai.

  5. Untuk melihat lampiran untuk versi tersebut, klik tab Lampiran.

gcloud

Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

  • TARGET: nama versi yang sepenuhnya memenuhi syarat atau URI Artifact Registry dari artefak yang ingin Anda cantumkan lampirannya. Anda dapat menggunakan ringkasan atau tag. Misalnya, us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1.

Jalankan perintah berikut:

Linux, macOS, atau Cloud Shell

gcloud artifacts attachments list \
    --target=TARGET

Windows (PowerShell)

gcloud artifacts attachments list `
    --target=TARGET

Windows (cmd.exe)

gcloud artifacts attachments list ^
    --target=TARGET
Untuk informasi selengkapnya, lihat perintah gcloud artifacts attachments list.

Oras

Sebelum menjalankan perintah, buat penggantian berikut:

  • IMAGE_URI: URI gambar target yang dirujuk oleh lampiran yang tercantum.
oras discover --distribution-spec v1.1-referrers-api IMAGE_URI

Contoh berikut mencantumkan lampiran untuk image container, my-image, yang diidentifikasi oleh URI dan tag-nya:

oras discover --distribution-spec v1.1-referrers-api \
us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1

Dengan keterangan:

  • v1.1-referrers-api adalah Referrer API yang digunakan. Untuk informasi selengkapnya, lihat detail dalam spesifikasi distribusi.

  • us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1 adalah URI yang menyertakan tag versi image container untuk mencantumkan lampiran.

Untuk panduan lengkap dan contoh lainnya, lihat dokumentasi oras discover.

Mendownload lampiran

Anda dapat mendownload lampiran menggunakan gcloud CLI atau Oras.

gcloud

Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

  • ATTACHMENT: nama lengkap lampiran. Misalnya, projects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment. Atau, berikan hanya ID lampiran di sini dan gunakan flag --location dan --repository.
  • DESTINATION: jalur di sistem file lokal Anda untuk mendownload lampiran.

Jalankan perintah berikut:

Linux, macOS, atau Cloud Shell

gcloud artifacts attachments download ATTACHMENT \
    --destination=DESTINATION

Windows (PowerShell)

gcloud artifacts attachments download ATTACHMENT `
    --destination=DESTINATION

Windows (cmd.exe)

gcloud artifacts attachments download ATTACHMENT ^
    --destination=DESTINATION
Sebagai alternatif untuk memberikan ATTACHMENT, Anda dapat memberikan tanda --oci-version-name, diikuti dengan nama versi lengkap lampiran atau URI Artifact Registry. Anda dapat menggunakan ringkasan atau tag. Contoh, projects/my-project/locations/us-west1/repositories/my-repo/packages/my-package/versions/sha256:abc123.

Untuk informasi selengkapnya, lihat perintah gcloud artifacts attachments download.

Oras

Sebelum menjalankan perintah, buat penggantian berikut:

  • DESTINATION: direktori tujuan untuk lampiran Anda.

  • ATTACHMENT_URI: URI lampiran yang akan didownload. Ini adalah URI untuk penampung gambar yang dirujuk lampiran, diikuti dengan SHA unik lampiran.

oras pull -o DESTINATION ATTACHMENT_URI

Contoh berikut mendownload lampiran yang diidentifikasi oleh URI dan ringkasannya:

oras pull -o . us-west1-docker.pkg.dev/my-project/my-repo/my-image@sha256:xxxx

Dengan keterangan:

  • -o . memberi nama direktori saat ini sebagai tujuan download.

  • us-west1-docker.pkg.dev/my-project/my-repo/my-image@sha256:xxxx adalah URI gambar yang menyertakan ringkasan lampiran yang akan didownload.

Untuk panduan lengkap dan contoh lainnya, lihat dokumentasi oras pull.

Menghapus lampiran

Anda dapat menghapus lampiran secara langsung menggunakan konsol Google Cloud atau gcloud CLI. Anda dapat menghapus lampiran secara tidak langsung dengan menghapus image container yang dirujuknya.

Menghapus lampiran secara langsung

Anda dapat menghapus lampiran langsung dengan salah satu opsi berikut:

Konsol

  1. Di konsol Google Cloud, buka halaman Repositories.

    Buka halaman Repositori

  2. Klik nama repositori untuk melihat image di repositori Anda.

  3. Klik nama gambar untuk melihat versi gambar tersebut.

  4. Klik versi gambar yang ingin Anda lihat lampirannya.

  5. Klik tab Lampiran untuk melihat lampiran untuk versi tersebut.

  6. Klik ringkasan lampiran yang akan dihapus.

  7. Klik HAPUS.

  8. Pada dialog konfirmasi, klik DELETE.

gcloud

Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

  • ATTACHMENT: nama lengkap lampiran. Misalnya, projects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment. Atau, berikan hanya ID lampiran di sini dan gunakan flag --location dan --repository.

Jalankan perintah berikut:

Linux, macOS, atau Cloud Shell

gcloud artifacts attachments delete ATTACHMENT

Windows (PowerShell)

gcloud artifacts attachments delete ATTACHMENT

Windows (cmd.exe)

gcloud artifacts attachments delete ATTACHMENT
Untuk informasi selengkapnya, lihat perintah gcloud artifacts attachments list.

Menghapus lampiran secara tidak langsung

Jika image penampung dihapus, semua lampiran yang merujuk juga akan dihapus. Hal ini berlaku untuk penghapusan image container secara manual dan untuk penghapusan yang disebabkan oleh kebijakan pembersihan.