Bisakah saya mempublikasikan paket NuGet pribadi?

107

Saya memiliki perakitan yang telah saya buat yang sangat spesifik untuk tim saya di perusahaan saya. Saya ingin dapat menggunakan NuGet untuk membuat perakitan ini tersedia untuk proyek lain yang sedang dikerjakan oleh tim saya dan tim serupa di perusahaan saya. Namun, perakitan bukanlah kode yang ingin saya bagikan dengan dunia.

Saya tahu dengan Maven, Anda dapat membuat repositori lokal dan paket sumber dari repo lokal. Apakah NuGet mendukung fungsi serupa? Apakah ada cara dengan NuGet untuk menentukan repositori lokal atau memiliki paket privat?

stevebot
sumber

Jawaban:

92

Iya! Anda dapat meng-host server NuGet Anda sendiri!

Cara termudah adalah membuat folder bersama di server Anda dan merujuknya sebagai Server Nuget Anda.

Anda dapat menemukan informasi lebih lanjut tentang cara melakukannya di: Hosting Feed NuGet Anda Sendiri

Glauco Vinicius
sumber
3
Pada tautan di atas, gulir ke bawah ke bagian 'Membuat Umpan Jarak Jauh' jika Anda ingin membuat server sebenarnya, dapat diakses melalui HTTP, untuk menjadi tuan rumah rakitan Anda.
Kevin Kalitowski
6
Meskipun ini mungkin cara termudah, itu berarti Anda harus berbagi folder dengan semua orang, dan siapa pun yang memiliki akses dapat (secara tidak sengaja atau tidak) marah dengan isinya. Cara yang lebih baik (namun cara sederhana) adalah membuat server Anda sendiri menggunakan NuGet.Serverdan menjadi host di IIS atau Azure. Anda kemudian akan dapat mendorong paket menggunakan kunci API dan siapa pun dapat berlangganan umpan. Berikut adalah panduan mudah untuk membuat server NuGet Anda sendiri .
Alex Sanséau
Bekerja seperti pesona!
Andro
Saya memiliki masalah yang sama. dan menemukan yang berikut ini: Scott: hanselman.com/blog/… juga: nicolaiarocci.com/…
Michael Mittermair
21

Pilihan lain untuk menghosting server NuGet Anda sendiri adalah menggunakan JetBrains TeamCity sebagai server build. Penyiapannya dijelaskan di sini .

Server Team City bertindak sebagai repositori NuGet yang hanya akan / bisa / seharusnya dapat diakses di dalam perusahaan Anda.

Berdasarkan penggunaan Anda, ada versi gratis dari perangkat lunak tersebut.

Ini memiliki beberapa opsi bagus seperti kemampuan untuk mempublikasikan versi NuGet baru sesuai permintaan, dengan setiap build integrasi berkelanjutan baru, dll. Salah satu bit yang paling berguna (seperti dengan semua implementasi server NuGet) adalah ia akan menyimpan lusinan versi yang lebih lama rakitan Anda, jadi jika Anda memiliki satu proyek yang perlu mereferensikan versi terbaru, dan proyek lain yang perlu mereferensikan versi lama, semuanya akan berhasil.

Kevin Kalitowski
sumber
2
Meskipun Anda benar, TeamCity tidak ada hubungannya dengan NuGet, dan ada pilihan lain untuk server NuGet (yang dia minta). TeamCity lebih merupakan server integrasi berkelanjutan yang kebetulan memiliki server NuGet built-in.
Jim Aho
14

Lihat edisi gratis ProGet ; kami membangunnya tepat untuk tujuan ini. Dibutuhkan lebih sedikit waktu untuk mengatur dan menawarkan banyak fitur di atas dan di luar yang ditawarkan oleh server NuGet standar, seperti beberapa umpan, agregasi umpan, dan jenis repositori tambahan (npm, Bower, dll.)

Jika Anda ingin membayar untuk versi perusahaan, Anda juga mendapatkan kemampuan untuk menggunakan LDAP untuk otentikasi, dan kemampuan untuk memfilter umpan berdasarkan nama / lisensi dari umpan yang terhubung (yaitu umpan resmi NuGet).

Tod Hoven
sumber
2

Ya, Anda dapat memiliki feed lokal. Sangat mudah untuk mengaturnya, lihat di sini .

MyGet populer untuk menghosting umpan pribadi. Ini tidak gratis, tapi lihat harga mereka dan mungkin itu cocok untuk Anda!

Jim Aho
sumber