Özel bir NuGet paketi yayınlayabilir miyim?


107

Şirketimdeki ekibime çok özel bir montajım var. Bu montajı, ekibimin ve şirketimdeki benzer ekiplerin üzerinde çalıştığı diğer projelere uygun hale getirmek için NuGet'i kullanabilmek istiyorum. Bununla birlikte, montaj gerçekten dünyayla paylaşmak istediğim bir kod değil.

Maven ile yerel depolar ve yerel depodan kaynak paketleri yaratabileceğinizi biliyorum. NuGet benzer işlevleri destekliyor mu? NuGet ile yerel bir depoyu belirtmenin veya özel paketlere sahip olmanın bir yolu var mı?

Yanıtlar:


92

Evet! Kendi NuGet sunucunuzu barındırabilirsiniz!

En kolay yol, sunucunuzda paylaşılan bir klasör oluşturmak ve bunu Nuget Sunucunuz olarak adlandırmaktır.

Bunu nasıl yapacağınızla ilgili daha fazla bilgiyi şu adreste bulabilirsiniz: Kendi NuGet Yayınlarınızı Barındırma


3
Derlemelerinizi barındırmak için HTTP aracılığıyla erişilebilen gerçek bir sunucu oluşturmak istiyorsanız, yukarıdaki bağlantıda 'Uzak Beslemeler Oluşturma' bölümüne gidin.
Kevin Kalitowski

6
Muhtemelen en kolay yol bu olsa da, klasörü herkesle paylaşmanız gerektiği anlamına gelir ve erişimi olan herkes (yanlışlıkla veya değil) içeriğine uyabilir. Daha iyi bir yol (ancak basit bir yol), kullanarak NuGet.Serverve barındırmanın IIS veya Azure'da kendi sunucunuzu oluşturmaktır . Daha sonra bir API anahtarı kullanarak paketleri gönderebileceksiniz ve herkes beslemeye abone olabilir. İşte kendi NuGet sunucunuzu oluşturmak için kolay bir kılavuz .
Alex Sanséau

Büyü gibi çalıştı!
Andro

Ben de aynı sorunu yaşadım. ve şunları buldu: Scott: hanselman.com/blog/… ayrıca: nicolaiarocci.com/…
Michael Mittermair

21

Kendi NuGet sunucunuzu barındırmak için başka bir seçenek de JetBrains TeamCity'yi bir derleme sunucusu olarak kullanmaktır. Kurulum burada açıklanmaktadır .

Team City sunucusu, yalnızca şirketinizde erişilebilecek / erişilebilecek / erişilmesi gereken bir NuGet deposu görevi görür.

Kullanımınıza bağlı olarak, yazılımın ücretsiz sürümleri vardır.

Yeni bir NuGet sürümünü talep üzerine yayınlama yeteneği, her yeni sürekli tümleştirme derlemesi vb. Gibi bazı güzel seçeneklere sahiptir. En kullanışlı bitlerden biri (tüm NuGet sunucu uygulamalarında olduğu gibi) düzinelerce eski sürümü tutacak olmasıdır. En yeni sürüme başvurmanız gereken bir projeniz ve daha eski bir sürüme başvurması gereken başka bir projeniz varsa, her şey yoluna girecektir.


2
Haklı olmanıza rağmen, TeamCity'nin NuGet ile çok az ilgisi var ve bir NuGet sunucusu için başka seçenekler de var (onun istediği de bu). TeamCity yerine sürekli entegrasyon sunucusudur olur yerleşik bir Nuget sunucuya sahip olmak.
Jim Aho

14

ProGet ücretsiz sürümüne göz atın ; tam da bu amaç için inşa ettik. Kurulum çok daha az zaman alır ve standart NuGet sunucusu tarafından sunulanların ötesinde, çoklu beslemeler, yayın toplama ve ek depo türleri (npm, Bower, vb.)

Kurumsal sürüm için ödeme yapmak istiyorsanız, LDAP'yi kimlik doğrulama için kullanma ve bağlı yayınlardan (örneğin NuGet'in resmi beslemesi) ada / lisansa göre beslemeleri filtreleme olanağına da sahip olursunuz.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.