Halaman ini menjelaskan cara menyimpan artefak berversi dan tidak dapat diubah yang tidak mematuhi format paket tertentu dalam repositori format generik Artifact Registry.
Untuk memahami cara menyimpan artefak generik di Artifact Registry, Anda dapat mencoba panduan memulai.
Artefak generik adalah file dalam format apa pun, termasuk, tetapi tidak terbatas pada, hal berikut:
- File terkompresi, seperti file tar dan file zip
- File konfigurasi, seperti file YAML dan TOML
- File teks dan PDF
- Biner
- Arsip
- File media
Tidak seperti format lainnya, artefak yang disimpan di repositori format generik tidak dimaksudkan untuk digunakan oleh Docker, pengelola paket, atau klien pihak ketiga lainnya.
Sebelum memulai
- Buat repositori format umum.
- Verifikasi bahwa Anda memiliki izin yang diperlukan untuk repositori.
- (Opsional) Konfigurasi setelan default untuk perintah Google Cloud CLI.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk mengelola artefak generik, minta administrator Anda untuk memberi Anda peran IAM berikut di repositori:
-
Melihat artefak:
Pembaca Artifact Registry (
roles/artifactregistry.reader
) -
Mendownload artefak:
Pembaca Artifact Registry (
roles/artifactregistry.reader
) -
Mengupload 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.
Mengupload artefak generik
Anda dapat mengupload artefak generik satu per satu menurut file atau beberapa sekaligus menurut direktori. Saat mengupload, nama paket dan nomor versi harus ditentukan. Anda juga dapat menentukan jalur dalam struktur file tujuan untuk menguploadnya. Jika tidak ada jalur tujuan yang ditentukan, artefak akan diupload ke tingkat root secara default.
Untuk mengupload artefak generik ke repositori Anda, jalankan perintah berikut:
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
PROJECT
: Google Cloud
project ID Anda.
Jika project ID Anda berisi titik dua (:
), lihat
Project yang tercakup dalam domainLOCATION
: lokasi regional atau multi-regional
repositori.REPOSITORY
: nama repositori tempat
artefak disimpan.SOURCE
: lokasi dan nama file yang Anda upload.PACKAGE
: nama paket file yang Anda
upload.VERSION
: versi file yang Anda upload.Jalankan perintah 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 mengupload ke folder tertentu dalam paket dan versi. Skrip ini juga akan membuat folder yang belum ada.--source-directory=SOURCE_DIR
untuk menggantikan tanda--source
dan mengupload direktori, bukan satu file.--skip-existing
saat menggunakan flag--source-directory
untuk melewati file yang sudah ada. Jika tidak, perintah akan gagal saat mencoba mengupload file yang sudah ada.
API
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT adalah Google Cloud
project ID Anda. Jika project ID Anda berisi titik dua (
:
), lihat Project yang tercakup dalam cakupan domain - LOCATION adalah lokasi repositori regional atau multi-regional.
- REPOSITORY adalah nama repositori tempat artefak disimpan.
- SOURCE adalah lokasi dan nama file yang Anda upload.
- PACKAGE adalah nama paket file yang Anda upload.
- VERSION adalah versi file yang Anda upload.
- NAME adalah nama baru file di repositori.
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, 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 dapat melihat artefak untuk repositori format generik di konsolGoogle Cloud .
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 tab File.
Untuk melihat file yang dapat didownload untuk versi tertentu dari paket Anda, klik nama versi, lalu klik tab File.
gcloud
Anda dapat mencantumkan artefak dalam repositori dengan perintah gcloud artifacts files list
.
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
PROJECT
: Google Cloud project ID Anda. Jika project ID Anda berisi titik dua (:
), lihat Project yang tercakup dalam domainLOCATION
: lokasi regional atau multi-regional repositori.REPOSITORY
: nama repositori tempat artefak disimpan.
Jalankan perintah 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 menurut versi dan paket dengan menambahkan salah satu atau kedua flag berikut:
--package=PACKAGE
untuk hanya menampilkan file dari paket tertentu.--version=VERSION
untuk hanya menampilkan file versi tertentu.
Mendownload artefak generik
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 di sistem file lokal Anda. Folder tujuan harus sudah ada atau perintah akan gagal.LOCATION
: lokasi regional atau multi-regional 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 tanda ini, perintah akan mendownload semua file untuk paket dan versi yang ditentukan serta membuat direktori yang diperlukan di tujuan.
Jalankan perintah 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 project ID Anda. Jika project ID Anda berisi titik dua (:
), lihat Project yang tercakup dalam cakupan domain.LOCATION
: lokasi regional atau multi-regional repositori.REPOSITORY
: nama repositori tempat artefak disimpan.DESTINATION
: jalur ke folder tujuan di sistem file lokal Anda. Folder tujuan harus sudah ada atau perintah akan gagal.FILE
: nama file yang dienkode URL. Anda dapat menemukan nilai ini dengan menjalankan perintahgcloud artifacts files list
dan menyalin nilai untukFILE
. Harus dikonversi ke format berenkode 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 langsung melihat download dimulai.Menghapus artefak generik
Untuk menghapus artefak generik dari repositori Anda, jalankan perintah gcloud artifacts
files delete
. Perintah ini hanya tersedia untuk repositori format generik.
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
: lokasi regional atau multi-regional repositori.REPOSITORY
: nama repositori tempat artefak disimpan.
Jalankan perintah 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