Repositori Snapshot Maven vs Repositori Rilis


103

Apa perbedaan antara Snapshot Repository dan Release Repository?

Ini dengan mengacu pada pengaturan Repositori (seperti Artifactory, Nexus dll)


Apa hubungannya ini? Kontrol sumber? Sejauh yang saya tahu, ini bukan terminologi standar, tetapi saya mungkin menebak bahwa snapshot digunakan sebagai gambar pohon sumber pada suatu titik waktu (mungkin untuk penggunaan internal), sementara rilis digunakan untuk kode yang dirilis secara eksternal.
1800 INFORMASI

Sepertinya Anda bertanya tentang Maven (alat pembuat). Mungkin Anda harus memasukkannya ke dalam pertanyaan dan tag.
bendin

Jawaban:


67

Lepaskan Artefak

Ini adalah rilis spesifik, waktu tertentu. Artefak yang dirilis dianggap kokoh, stabil, dan abadi untuk menjamin bahwa bangunan yang bergantung padanya dapat diulang dari waktu ke waktu. Artefak JAR yang dirilis dikaitkan dengan tanda tangan PGP dan checksum memverifikasi keaslian dan integritas artefak perangkat lunak biner. Penyimpanan repositori Central Maven merilis artefak.

Artefak Foto

Jepretan menangkap pekerjaan yang sedang berlangsung dan digunakan selama pengembangan. Artefak Snapshot memiliki nomor versi seperti "1.3.0" atau "1.3" dan stempel waktu. Misalnya, artefak snapshot untuk commons-lang 1.3.0 mungkin memiliki nama commons-lang-1.3.0-20090314.182342-1.jar.

Diambil dari refcard


Sayat, Apakah 1.1.0.M5 atau 1.1.0.M4 salah satu versi snapshot?
Alexander Suraphel

4
Ini mendefinisikan apa itu rilis dan artefak snapshot. Tetapi: apakah dibutuhkan dua repositori yang berbeda?
dna

1
Menemukan informasi yang ditulis dengan baik di docs.oracle.com/middleware/1212/core/MAVEN/…
Yoav Epstein

1
Ini tidak menjawab pertanyaan, pertanyaannya adalah tentang perbedaan antara rilis dan repositori snapshot (bukan artefak).
mks-d

1
@ mks-d Pengamatan yang baik tetapi sulit untuk memahami gudang sesuatu tanpa memahami terlebih dahulu apa itu "sesuatu". :) stackoverflow.com/a/5901460
datv

86

Repositori rilis menampung rilis dan repositori Snapshot menyimpan snapshot. Dalam maven, snapshot didefinisikan sebagai artefak dengan versi yang diakhiri dengan -SNAPSHOT. Saat di-deploy, snapshot diubah menjadi stempel waktu. Menurut definisi, snapshot dapat berubah, rilis tidak dapat diubah. Inilah mengapa Nexus membuat Anda menyimpannya secara terpisah karena biasanya Anda tidak peduli jika kehilangan snapshot, tetapi Anda akan peduli jika rilis hilang. Itu membuat pembersihan snapshot jauh lebih mudah untuk ditangani dengan cara itu.


12
Terima kasih untuk "Saat diterapkan, SNAPSHOT diubah menjadi stempel waktu" .
datv

ketika saya mengkonfigurasi pekerjaan di jenkins dan menggunakan artefak unggahan ke repo snapshot nexus, saya tidak dapat melihat lebih dari satu snapshot. Umumnya ketika kami membuat perubahan dalam proyek & memicu pembuatan artefak baru akan dibuat. Meskipun hal ini terjadi tetapi mengganti namanya menjadi 1.0-SNAPSHOT yang sama melainkan harus menamakannya 2.0-SNAPSHOT & seterusnya .. Bantuan apa saja .. @Brian Fox
frp farhan

saya telah menggunakan di bagian post build jenkins, menyebarkan artefak ke repositori maven dan mengonfigurasinya sebagai repo snapshot dari nexus.
frp farhan

3

Snapshots adalah ide maven untuk memberikan nomor versi sebagai -SNAPSHOTS, sedang dalam pengembangan, dapat berubah setiap saat.

Repositori internal adalah repositori rilis dengan nomor versi tetap. Anda dapat memodifikasi SNAPSHOTS, tetapi artefak itu tidak pernah berubah setelah dilepaskan.


Untuk "dalam pengembangan, itu dapat berubah kapan saja" (untuk -SNAPSHOT)
datv

3

Biasanya di maven kami memiliki dua jenis build:

1) Pembuatan snapshot : SNAPSHOT adalah versi khusus yang menunjukkan salinan penerapan saat ini dan bukan versi reguler dan spesifik. Maven memeriksa versi untuk setiap build di repositori jarak jauh. Build snapshot tidak lain adalah build pengembangan.

2) Rilis build : Rilis berarti menghapus SNAPSHOT di ID versi untuk build tersebut. Ini adalah versi build reguler.

Artefak snapshot dan artefak rilis didorong ke snapshot, masing-masing melepaskan repositori.


0

SNAPSHOT di sini tidak berarti SATU snapshot yang dibekukan dan tidak akan berubah, SNAPSHOT mencakup beberapa snapshot yang modifikasinya tidak cukup besar untuk diwakili oleh nomor versi baru.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.