TL; DR: Mengapa menggunakan sesuatu seperti Apache Archiva atau Sonatype Nexus sebagai repositori artifak alih-alih Subversion?
Sistem build yang saya gunakan saat ini memiliki banyak gumpalan biner (gambar, file suara, kompilasi binari, dll), baik sebagai input dan output untuk build kami. Sistem kami untuk mengelola ini sangat ad hoc; beberapa diperiksa ke repositori Subversion kami di samping kode kami, beberapa disimpan di tempat lain di luar kontrol versi formal.
Saya melihat konsolidasi ini, jadi kami memiliki sesuatu yang lebih konsisten dan mudah digunakan, dan yang memisahkan artefak biner dari kode.
Google memberi tahu saya bahwa ada beberapa pilihan repositori artefak yang tersedia ( Archiva , Nexus , Artifactory , ...), tetapi dari membaca di sekitar, saya tidak dapat melihat keuntungan menggunakan ini melalui Subversion. Itu akan menjaga binari untuk kita - sudah melakukan itu untuk beberapa binari kita, kita hanya ingin mengatur ulang tata letak repositori untuk memisahkannya dari kode - dan memiliki keuntungan penting bahwa kita sudah memiliki server dan keahlian Subversion.
Begitu. Apa keuntungan menggunakan sistem manajemen artefak khusus daripada menggunakan alat kontrol versi umum seperti Subversion?
sumber
Jawaban:
Jawaban singkat: Secara umum, Anda tidak perlu riwayat artefak biner dan perubahan artefak itu, Anda hanya perlu versi tertentu.
Jawaban yang lebih panjang: Setiap kali Anda melakukan perubahan kecil ke file biner, sistem kontrol versi tidak memiliki cara untuk membuat delta - perbedaan antara dua file - sehingga membuat salinan baru.
Dalam CVCS, seperti SVN, itu bukan masalah besar, karena Anda hanya memiliki satu salinan pusat dari repositori Anda - salinan lokal Anda hanya satu versi. (Meskipun, meskipun begitu, repositori Anda dapat menjadi sangat besar, membuat checkin lebih lambat.) Tetapi apa yang terjadi jika Anda kemudian beralih ke DVCS, di mana setiap salinan repositori memiliki riwayat lengkap setiap file? Ukuran perubahan menjadi sangat relevan di sana.
Dan apa yang memberi Anda imbalan atas rasa sakit? Satu-satunya hal yang ditawarkannya adalah dapat kembali ke versi repositori Anda sebelumnya dan tahu bahwa Anda memiliki binari yang benar untuk versi itu.
Tetapi apakah Anda memerlukan seluruh biner di repositori Anda untuk melakukan itu? Atau bisakah Anda pergi hanya dengan memiliki file teks, memberi tahu proses pembuatan versi mana untuk menarik dari repositori lain di tempat lain?
Yang terakhir adalah apa yang ditawarkan oleh repositori artefak pada umumnya.
Selain itu, beberapa yang lebih profesional, seperti Nexus, juga akan memberi Anda informasi tentang lisensi untuk artefak pihak ketiga, sehingga Anda tidak mengambil risiko bertabrakan dengan beberapa klausa halus dalam apa yang Anda yakini sebagai perpustakaan FOSS.
sumber
Kami menggunakan SVN sebagai repositori untuk rilis build dan ini sangat baik. Kami memiliki satu repositori rilis yang lebih baik dari 30 GB dari berbagai rilis build dan berkinerja menarik build out untuk digunakan.
beberapa keuntungan dari melakukan ini adalah ..
sumber