Halaman ini menjelaskan cara menyimpan artefak berversi dan tidak dapat diubah yang tidak mematuhi format paket tertentu dalam format generik Artifact Registry repositori tambahan.
Untuk membiasakan diri dengan penyimpanan artefak generik di Artifact Registry, Anda dapat mencoba panduan memulai.
Artefak umum adalah file dalam format apa pun termasuk, tetapi tidak terbatas pada, berikut ini:
- File yang dikompresi, seperti file tar dan file zip
- File konfigurasi, seperti file YAML dan TOML
- File teks dan PDF
- Biner
- Arsip
- File media
Tidak seperti format lain, artefak yang disimpan dalam repositori format generik tidak dimaksudkan untuk digunakan oleh Docker, pengelola paket, atau klien pihak ketiga lainnya.
Sebelum memulai
- Buat repositori format generik.
- Verifikasi bahwa Anda memiliki izin yang diperlukan untuk repositori resource.
- (Opsional) Konfigurasi default untuk perintah Google Cloud CLI.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda butuhkan untuk mengelola artefak umum, minta administrator untuk memberi Anda peran IAM berikut di repositori:
-
Lihat artefak:
Pembaca Artifact Registry (
roles/artifactregistry.reader
) -
Download artefak:
Pembaca Artifact Registry (
roles/artifactregistry.reader
) -
Upload artefak ke repositori:
Penulis Artifact Registry (
roles/artifactregistry.writer
) -
Menghapus artefak:
Administrator Repositori Artifact Registry (
roles/artifactregistry.repoAdmin
)
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.
Upload artefak umum
Anda dapat mengupload artefak umum satu per satu dengan file atau dalam beberapa saat ini. Saat mengunggah, nama paket dan nomor versi harus yang ditentukan. Anda juga dapat menentukan jalur di struktur file tujuan untuk tempat upload file tersebut. Jika tidak ada jalur tujuan yang ditentukan, artefak akan diupload ke {i>root level <i}secara {i>default<i}.
Untuk mengupload artefak umum ke repositori Anda, jalankan perintah berikut:
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
PROJECT
: Google Cloud Anda
project ID Anda.
Jika project ID Anda berisi tanda titik dua (:
), lihat
Project cakupan domainLOCATION
: regional atau multi-regional
lokasi repositori.REPOSITORY
: nama repositori tempat
artefak disimpan.SOURCE
: lokasi dan nama file yang Anda
mengupload.PACKAGE
: nama paket file yang Anda
mengupload.VERSION
: versi file yang Anda upload.Jalankan mengikuti berikut:
Linux, macOS, atau Cloud Shell
gcloud artifacts generic upload \ --project=PROJECT \ --source=SOURCE \ --package=PACKAGE \ --version=VERSION \ --location=LOCATION \ --repository=REPOSITORY
Windows (PowerShell)
gcloud artifacts generic upload ` --project=PROJECT ` --source=SOURCE ` --package=PACKAGE ` --version=VERSION ` --location=LOCATION ` --repository=REPOSITORY
Windows (cmd.exe)
gcloud artifacts generic upload ^ --project=PROJECT ^ --source=SOURCE ^ --package=PACKAGE ^ --version=VERSION ^ --location=LOCATION ^ --repository=REPOSITORY
--destination-path=PATH
untuk diupload ke folder tertentu dalam folder paket dan versi. Ini juga akan membuat folder yang tidak ada.--source-directory=SOURCE_DIR
untuk menggantikan--source
penanda dan mengunggah direktori alih-alih satu file saja.--skip-existing
saat menggunakan flag--source-directory
untuk melewati file yang sudah ada. Jika tidak, perintah akan gagal saat mencoba mengunggah file yang sudah ada.
API
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT adalah langganan Google Cloud Anda
project ID Anda. Jika project ID Anda berisi tanda titik dua (
:
), lihat Project cakupan domain - LOCATION adalah atribut regional atau lokasi multi-regional dari repositori.
- REPOSITORY adalah nama repositori tempat artefak disimpan.
- SOURCE adalah lokasi dan nama yaitu file yang sedang Anda upload.
- PACKAGE adalah nama paket yang sedang Anda unggah.
- VERSION adalah versi dari file yang Anda sedang diupload.
- NAME adalah nama baru file dalam repositori resource.
Metode HTTP dan URL:
POST https://artifactregistry.googleapis.com/upload/v1/projects/PROJECT/locations/LOCATION/repositories/REPOSITORY/genericArtifacts:create?alt=json
curl (Linux, macOS, atau Cloud Shell)
Untuk mengirim permintaan Anda, jalankan perintah berikut:
curl -v \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-F "meta={'filename':'NAME','package_id':'PACKAGE','version_id':'VERSION'};type=application/json" \
-F "blob=@SOURCE" \
https://artifactregistry.googleapis.com/upload/v1/projects/PROJECT/locations/LOCATION/repositories/REPOSTIORY/genericArtifacts:create?alt=json
Mencantumkan artefak
console
Anda bisa melihat artefak untuk repositori format generik di Konsol Google Cloud Anda.
Buka halaman Repositories di konsol Google Cloud.
Dalam daftar repositori, pilih repositori.
Klik nama paket.
Untuk melihat file yang dapat didownload untuk semua versi paket, klik File .
Untuk melihat file yang dapat didownload untuk versi paket tertentu, klik nama versi, lalu klik tab Files.
gcloud
Anda dapat mencantumkan artefak dalam repositori dengan gcloud artifacts files list
perintah.
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
PROJECT
: Google Cloud Anda project ID Anda. Jika project ID Anda berisi tanda titik dua (:
), lihat Project cakupan domainLOCATION
: regional atau multi-regional lokasi repositori.REPOSITORY
: nama repositori tempat artefak disimpan.
Jalankan mengikuti berikut:
Linux, macOS, atau Cloud Shell
gcloud artifacts files list \ --project=PROJECT \ --location=LOCATION \ --repository=REPOSITORY
Windows (PowerShell)
gcloud artifacts files list ` --project=PROJECT ` --location=LOCATION ` --repository=REPOSITORY
Windows (cmd.exe)
gcloud artifacts files list ^ --project=PROJECT ^ --location=LOCATION ^ --repository=REPOSITORY
FILE: my-package:1.0.0:hello.yaml CREATE_TIME: 2023-03-09T20:55:07 UPDATE_TIME: 2023-03-09T20:55:07 SIZE (MB): 0.000 OWNER: projects/my-project/locations/us-central1/repositories/quickstart-generic-repo/packages/my-package/versions/1.0.0
Anda juga dapat mengurutkan berdasarkan versi dan paket dengan menambahkan salah satu atau kedua flag berikut:
--package=PACKAGE
untuk hanya menampilkan file dari paket.--version=VERSION
untuk hanya menampilkan file dari .
Download artefak umum
Untuk mendownload artefak generik dari repositori Anda, jalankan perintah berikut:
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
DESTINATION
: jalur ke folder tujuan dalam sistem file lokal Anda. Folder tujuan harus sudah ada atau perintahnya akan gagal.LOCATION
: regional atau multi-regional lokasi repositori.REPOSITORY
: nama repositori tempat artefak disimpan.PACKAGE
: paket file yang akan didownload.VERSION
: versi file yang akan didownload.NAME
(opsional): nama file yang akan didownload. Tanpa penanda ini, perintah akan mengunduh semua file untuk paket dan versi yang ditentukan sebagai serta membuat direktori yang diperlukan di tujuan.
Jalankan mengikuti berikut:
Linux, macOS, atau Cloud Shell
gcloud artifacts generic download \ --destination=DESTINATION \ --location=LOCATION \ --repository=REPOSITORY \ --package=PACKAGE \ --version=VERSION \ --name=NAME
Windows (PowerShell)
gcloud artifacts generic download ` --destination=DESTINATION ` --location=LOCATION ` --repository=REPOSITORY ` --package=PACKAGE ` --version=VERSION ` --name=NAME
Windows (cmd.exe)
gcloud artifacts generic download ^ --destination=DESTINATION ^ --location=LOCATION ^ --repository=REPOSITORY ^ --package=PACKAGE ^ --version=VERSION ^ --name=NAME
API
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
PROJECT
: Google Cloud Anda project ID Anda. Jika project ID Anda berisi tanda titik dua (:
), lihat Project cakupan domain.LOCATION
: regional atau multi-regional lokasi repositori.REPOSITORY
: nama repositori tempat artefak disimpan.DESTINATION
: jalur ke folder tujuan di sistem file lokal Anda. Folder tujuan harus sudah ada atau folder akan gagal.FILE
: nama file berenkode URL. Anda dapat temukan nilai ini dengan menjalankan perintahgcloud artifacts files list
dan menyalin nilai untukFILE
. Harus dikonversi ke format yang dienkode ke URL untuk perintah ini—misalnya,path/to/file.jar
harus dimasukkan sebagaipath%2Fto%2Ffile.jar
.
Metode HTTP dan URL:
GET https://artifactregistry.googleapis.com/download/v1/projects/PROJECT/locations/LOCATION/repositories/REPOSITORY/files/FILE:download?alt=media
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Anda akan melihat download langsung dimulai.Hapus artefak umum
Untuk menghapus artefak generik dari repositori Anda, jalankan perintah gcloud artifacts
files delete
. Perintah ini hanya tersedia untuk format umum
repositori tambahan.
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
FILE
: nama file lengkap. Anda dapat menemukan nilai ini dengan menjalankan perintahgcloud artifacts files list
dan menyalin nilai untukFILE
.LOCATION
: regional atau multi-regional lokasi repositori.REPOSITORY
: nama repositori tempat artefak disimpan.
Jalankan mengikuti berikut:
Linux, macOS, atau Cloud Shell
gcloud artifacts files delete \ FILE \ --location=LOCATION \ --repository=REPOSITORY
Windows (PowerShell)
gcloud artifacts files delete ` FILE ` --location=LOCATION ` --repository=REPOSITORY
Windows (cmd.exe)
gcloud artifacts files delete ^ FILE ^ --location=LOCATION ^ --repository=REPOSITORY