Halaman ini menjelaskan cara menambahkan, melihat, dan menghapus paket Java.
Jika Anda ingin menggunakan sbt sebagai alat build untuk Scala dan Java, bukan menggunakan Maven atau Gradle, tersedia plugin sbt buatan komunitas. Dokumentasi ini tidak menjelaskan konfigurasi atau penggunaan klien Scala.
Sebelum memulai
- Jika repositori target tidak ada, buat repositori baru.
- Verifikasi bahwa Anda memiliki izin yang diperlukan untuk repositori.
- Pastikan Anda telah mengonfigurasi autentikasi. Jika Anda menggunakan token akses, pastikan Anda memuat ulang token sebelum terhubung ke repositori.
- (Opsional) Konfigurasikan default untuk perintah gcloud.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk mengelola paket, minta administrator untuk memberi Anda peran IAM berikut di repositori:
-
Melihat paket atau file dalam paket:
Pembaca Artifact Registry (
roles/artifactregistry.reader
) -
Mendownload atau menginstal paket:
Pembaca Artifact Registry (
roles/artifactregistry.reader
) -
Menambahkan paket ke repositori:
Penulis Artifact Registry (
roles/artifactregistry.writer
) -
Menghapus paket:
Artifact Registry Repository Administrator (
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.
Menambahkan paket
Mode repositori: Standar
Untuk menambahkan paket ke repositori:
Maven
Gunakan mvn deploy
dan mvn release
untuk menambahkan paket ke repositori.
Agar berhasil men-deploy project Maven yang mereferensikan induk, project harus menyertakan penyedia Artifact Registry Wagon dalam file ekstensi inti seperti yang dijelaskan dalam petunjuk autentikasi.
Gunakan mvn deploy:deploy-file
untuk mengupload artefak yang dibuat di luar
Maven.
Misalnya, contoh perintah ini men-deploy example/external.jar
dan file projectnya
example/pom.xml
ke repositori
us-central1-maven.pkg.dev/my-project/my-repo
mvn deploy:deploy-file \
-Durl=artifactregistry://us-central1-maven.pkg.dev/my-project/my-repo \
-DpomFile=example/pom.xml -Dfile=example/external.jar
Untuk mengonfigurasi integrasi dengan Cloud Build, lihat Mengintegrasikan dengan Cloud Build.
Gradle
Agar berhasil dipublikasikan ke repositori, file build.gradle
Anda harus menyertakan
bagian publikasi yang menentukan file yang akan diupload.
Gunakan perintah gradle publish
untuk mengupload paket ke repositori.
Melihat paket dan versi
Mode repositori: standar, jarak jauh
Untuk melihat paket dan versi paket menggunakan konsol Google Cloud
atau gcloud
:
Konsol
Buka halaman Repositories di konsol Google Cloud.
Di daftar repositori, klik repositori yang sesuai.
Halaman Paket mencantumkan paket di repositori.
Klik paket untuk melihat versi paket.
gcloud
Untuk menampilkan daftar paket dalam repositori, jalankan perintah berikut:
gcloud artifacts packages list [--repository=REPOSITORY] [--location=LOCATION]
Ganti kode berikut:
REPOSITORY
adalah nama repositori. Jika Anda mengonfigurasi repositori default, Anda dapat menghapus tanda ini untuk menggunakan default.-
LOCATION
adalah lokasi repositori regional atau multi-regional. Jika Anda mengonfigurasi lokasi default, Anda dapat menghilangkan tanda ini untuk menggunakan default.
Untuk melihat versi paket, jalankan perintah berikut:
gcloud artifacts versions list --package=PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION]
Ganti kode berikut:
PACKAGE
adalah ID paket atau ID yang sepenuhnya memenuhi syarat untuk paket.REPOSITORY
adalah nama repositori. Jika Anda mengonfigurasi repositori default, Anda dapat menghapus tanda ini untuk menggunakan default.-
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.
Untuk repositori jarak jauh, daftar yang ditampilkan harus menyertakan semua dependensi langsung dan transitif.
Mencantumkan file
Mode repositori: standar, jarak jauh
Anda dapat mencantumkan file dalam repositori, file dalam semua versi paket yang ditentukan, atau file dalam versi paket tertentu.
Untuk semua perintah berikut, Anda dapat menetapkan jumlah maksimum file yang akan ditampilkan
dengan menambahkan flag --limit
ke perintah.
Untuk mencantumkan semua file dalam project, repositori, dan lokasi default saat nilai default dikonfigurasi:
gcloud artifacts files list
Untuk mencantumkan file dalam project, repositori, dan lokasi yang ditentukan, jalankan perintah:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION
Untuk mencantumkan file untuk semua versi paket tertentu:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE
Untuk mencantumkan file untuk versi paket tertentu:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE \
--version=VERSION
Ganti nilai berikut:
LOCATION
: lokasi regional atau multi-regional repositori.PROJECT
: Google Cloud project ID Anda. Jika project ID Anda berisi titik dua (:
), lihat Project cakupan domain.REPOSITORY
: nama repositori tempat image disimpan.PACKAGE
: nama paket.VERSION
: versi paket.
Contoh
Pertimbangkan informasi paket berikut:
- Project:
my-project
- Repositori:
my-repo
- Lokasi repositori:
us-west1
- Paket:
my-app
Perintah berikut mencantumkan semua file di repositori my-repo
di
lokasi us-west1
dalam project default:
gcloud artifacts files list \
--location=us-west1 \
--repository=my-repo
1.0
paket.
gcloud artifacts files list \
--project=my-project \
--location=us-west1 \
--repository=my-repo \
--package=my-app \
--version=1.0
Mendownload paket
Mode repositori: standar, jarak jauh, virtual
Untuk mendownload artefak sebagai bagian dari build, Anda mendeklarasikan artefak sebagai dependensi.
Maven
Deklarasikan paket yang ingin Anda download dalam file
pom.xml
project. Contoh berikut mendeklarasikan versi 1.0 paketartifact
sebagai dependensi.<dependencies> <dependency> <groupId>group</groupId> <artifactId>artifact</artifactId> <version>1.0</version> </dependency> </dependencies>
Untuk mempelajari dependensi Maven lebih lanjut, lihat pengantar dependensi dan referensi dependensi Maven.
Build project Java.
mvn compile
Gradle
Deklarasikan paket yang ingin Anda download dalam file
build.gradle
project. Contoh berikut mendeklarasikan paketartifact
versi 1.0 sebagai dependensi kompilasi eksternal.Untuk mempelajari dependensi Gradle lebih lanjut, lihat dokumentasi Gradle.
dependencies { compile group: 'group', name: 'artifact', version: '1.0' }
Build project Java.
gradle build
Untuk repositori standar, Anda mendownload paket langsung dari repositori.
Untuk repositori jarak jauh, Anda mendownload salinan paket yang di-cache dan dependensinya. Jika salinan yang di-cache tidak ada, repositori jarak jauh akan mendownload paket dari sumber upstream dan meng-cache-nya sebelum menayangkannya kepada Anda. Anda dapat memverifikasi bahwa repositori jarak jauh mengambil paket dari sumber upstream dengan melihat daftar paket di repositori.
Untuk repositori virtual, Artifact Registry menelusuri repositori upstream untuk paket yang diminta.
- Repositori jarak jauh upstream akan mendownload dan meng-cache paket yang diminta jika salinan yang di-cache tidak ada. Repositori virtual hanya menayangkan paket yang diminta, bukan menyimpannya.
- Jika Anda meminta versi yang tersedia di lebih dari satu repositori upstream, Artifact Registry akan memilih repositori upstream yang akan digunakan berdasarkan setelan prioritas yang dikonfigurasi untuk repositori virtual.
Misalnya, pertimbangkan repositori virtual dengan setelan prioritas berikut untuk repositori upstream:
main-repo
: Prioritas ditetapkan ke100
secondary-repo1
: Prioritas ditetapkan ke80
.secondary-repo2
: Prioritas ditetapkan ke80
.test-repo
: Prioritas ditetapkan ke20
.
main-repo
memiliki nilai prioritas tertinggi, sehingga repositori virtual
selalu menelusurinya terlebih dahulu.
secondary-repo1
dan secondary-repo2
memiliki prioritas yang ditetapkan ke 80
. Jika
paket yang diminta tidak tersedia di main-repo
, Artifact Registry
akan menelusuri repositori ini berikutnya. Karena keduanya memiliki nilai prioritas yang sama,
Artifact Registry dapat memilih untuk menayangkan paket dari salah satu repositori
jika versi tersedia di keduanya.
test-repo
memiliki nilai prioritas terendah dan akan menayangkan artefak yang disimpan jika
tidak ada repositori upstream lainnya yang memilikinya.
Menghapus paket dan versi
Mode repositori: standar, jarak jauh
Anda dapat menghapus paket dan semua versinya, atau menghapus versi tertentu.
- Setelah menghapus paket, Anda tidak dapat mengurungkan tindakan tersebut.
- Untuk repositori jarak jauh, hanya salinan paket yang di-cache yang akan dihapus. Sumber upstream tidak terpengaruh. Jika Anda menghapus paket yang di-cache, Artifact Registry akan mendownload dan meng-cache-nya lagi saat repositori menerima permintaan untuk versi paket yang sama.
Sebelum menghapus paket atau versi paket, pastikan Anda telah menyampaikan atau mengatasi dependensi penting apa pun di dalamnya.
Untuk menghapus paket:
Konsol
Buka halaman Repositories di konsol Google Cloud.
Di daftar repositori, klik repositori yang sesuai.
Halaman Paket mencantumkan paket di repositori.
Pilih paket yang ingin dihapus.
Klik HAPUS.
Di kotak dialog konfirmasi, klik DELETE.
gcloud
Jalankan perintah berikut:
gcloud artifacts packages delete PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] [--async]
Ganti kode berikut:
PACKAGE
adalah nama paket dalam repositori.REPOSITORY
adalah nama repositori. Jika mengonfigurasi repositori default, Anda dapat menghapus tanda ini untuk menggunakan default.-
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.
Flag --async
menyebabkan perintah segera ditampilkan,
tanpa menunggu operasi yang sedang berlangsung selesai.
Untuk menghapus versi paket:
Konsol
Buka halaman Repositories di konsol Google Cloud.
Di daftar repositori, klik repositori yang sesuai.
Halaman Paket mencantumkan paket di repositori.
Klik paket untuk melihat versi paket tersebut.
Pilih versi yang ingin dihapus.
Klik HAPUS.
Di kotak dialog konfirmasi, klik DELETE.
gcloud
Jalankan perintah berikut:
gcloud artifacts versions delete VERSION \
--package=PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] \
[--async]
Ganti kode berikut:
VERSION
adalah nama versi yang akan dihapus.PACKAGE
adalah nama paket di repositori.REPOSITORY
adalah nama repositori. Jika mengonfigurasi repositori default, Anda dapat menghapus tanda ini untuk menggunakan default.-
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.
Flag --async
menyebabkan perintah segera ditampilkan,
tanpa menunggu operasi yang sedang berlangsung selesai.
Langkah selanjutnya
- Pelajari cara mengelola paket Node.js
- Pelajari cara mengelola paket Python
- Pelajari cara mengelola image container
- Mendownload file satu per satu dalam paket