Artifact Registry mendukung paket Java yang Anda build dengan Maven dan Gradle.
Ringkasan
Untuk memahami paket Java di Artifact Registry, Anda dapat mencoba panduan memulai.
Jika Anda siap mempelajari lebih lanjut, baca informasi berikut:
- Buat repositori paket Java untuk paket Anda.
- Pelajari cara membuat repositori jarak jauh dan virtual.
- Baca tentang cara menggunakan repositori jarak jauh dan virtual dalam contoh penggunaan repositori ini.
- Berikan izin ke akun yang akan terhubung dengan repositori. Akun layanan untuk integrasi umum dengan Artifact Registry memiliki izin default untuk repositori dalam project yang sama.
- Konfigurasikan alat Anda:
- Mengonfigurasi autentikasi untuk Maven atau Gradle.
- Jika Anda ingin menggunakan sbt sebagai alat build untuk Scala dan Java, bukan menggunakan Maven atau Gradle, ada plugin sbt buatan komunitas yang tersedia. Dokumentasi ini tidak menjelaskan konfigurasi atau penggunaan klien Scala.
- Mengonfigurasi Cloud Build untuk mengupload dan mendownload paket.
- Pelajari cara men-deploy ke lingkungan runtime Google Cloud.
- Pelajari cara mengelola paket.
Versi rilis dan snapshot Maven
Maven membedakan antara versi snapshot dan rilis dari project Maven Anda.
Snapshot
Snapshot adalah versi pra-rilis project Java. Nomor versi
untuk snapshot menyertakan akhiran -SNAPSHOT
di Project Object Model
(POM) Anda. Misalnya, setelan ini dalam file pom.xml
adalah untuk project versi 1.0
yang sedang dalam pengembangan:
<version>1.0-SNAPSHOT</version>
Saat Anda memublikasikan paket dari project ini, Maven 3 akan otomatis menambahkan stempel waktu ke nomor versi snapshot sehingga setiap versi snapshot unik. Maven 2 mendukung versi snapshot non-unik sebagai cara untuk menimpa snapshot yang ada di repositori. Pendekatan ini bermasalah untuk reproducibilitas build, itulah sebabnya Maven 3 tidak lagi mendukung snapshot yang tidak unik.
Snapshot menyediakan cara bagi Anda untuk memublikasikan versi terbaru paket pra-rilis secara iteratif tanpa menambahkan nomor versi dalam project Maven setiap kali Anda memublikasikan ke repositori. Selama pengembangan,
project lain dengan dependensi pada paket tersebut kemudian dapat memperoleh snapshot
terbaru versi 1.0
dari repositori.
Lihat spesifikasi urutan versi untuk mengetahui detail tentang sintaksis nomor versi Maven dan urutan pengurutan.
Rilis
Jika sudah siap merilis paket, Anda harus menghapus akhiran -SNAPSHOT
dari nomor versi dalam file POM dan mengupdate project apa pun yang bergantung pada
paket sehingga project tersebut menggunakan versi rilis, bukan versi
snapshot.
Untuk mencantumkan semua dependensi snapshot, Anda dapat memfilter hierarki dependensi dengan perintah:
mvn dependency:tree -Dincludes=:::*-SNAPSHOT
Kebijakan versi Artifact Registry
Saat membuat repositori Maven di Artifact Registry, Anda dapat menentukan kebijakan versi Maven:
- Tidak ada - Menyimpan paket snapshot dan rilis. Ini adalah setelan default.
- Snapshot - Hanya menyimpan paket snapshot.
- Rilis - Hanya menyimpan paket rilis.
Jika memilih kebijakan versi snapshot, Anda juga dapat menentukan apakah repositori mengizinkan versi snapshot yang tidak unik yang menimpa versi yang cocok di repositori. Sebaiknya gunakan versi unik karena Maven 3 tidak mendukung model versi non-unik.