Hostowanie własnych źródeł danych NuGet
Zamiast udostępniać pakiety publicznie, możesz chcieć wydać pakiety tylko do ograniczonej grupy odbiorców, takiej jak organizacja lub grupa robocza. Ponadto niektóre firmy mogą chcieć ograniczyć biblioteki innych firm, których mogą używać deweloperzy, a tym samym kierować tych deweloperów do czerpania z ograniczonego źródła pakietów, a nie nuget.org.
Dla wszystkich takich celów pakiet NuGet obsługuje konfigurowanie prywatnych źródeł pakietów w następujący sposób:
- Lokalne źródło danych: pakiety są po prostu umieszczane w odpowiednim sieciowym udziale plików, najlepiej przy użyciu
nuget init
inuget add
w celu utworzenia hierarchicznej struktury folderów (NuGet 3.3+). Aby uzyskać szczegółowe informacje, zobacz lokalne źródła danych. - NuGet.Server: pakiety są udostępniane za pośrednictwem lokalnego serwera HTTP. Aby uzyskać szczegółowe informacje, zobacz NuGet.Server.
- Galeria NuGet: pakiety są hostowane na serwerze internetowym przy użyciu projektu galerii NuGet (github.com). Galeria NuGet udostępnia funkcje i zarządzanie użytkownikami, takie jak rozbudowany internetowy interfejs użytkownika, który umożliwia wyszukiwanie i eksplorowanie pakietów z poziomu przeglądarki, podobnie jak nuget.org.
Istnieje również kilka innych produktów hostingowych NuGet, takich jak Azure Artifacts i rejestr pakietów GitHub, które obsługują zdalne prywatne źródła danych. Poniżej znajduje się lista takich produktów:
- Artifactory od JFrog.
- usługa Azure Artifacts, która jest również dostępna w Team Foundation Server 2017 i nowszych wersjach.
- BaGet, implementacja serwera NuGet V3 typu open source oparta na ASP.NET Core
- BaGetter, otwarty i napędzany przez społeczność fork BaGet oparty na open source
- Bytesafe W pełni zarządzana platforma zabezpieczeń pakietu i łańcucha dostaw
- Cloudsmith, w pełni zarządzany system zarządzania pakietami SaaS
- Feedz.io w pełni zarządzana usługa zarządzania pakietami w modelu SaaS
- gitea, samoobsługowa usługa Git typu open source obsługuje pakiet NuGet jako rejestr pakietów
- rejestr pakietów GitHub
- Rejestr Pakietów GitLab
- JetBrains Space
- LiGet, otwarta implementacja serwera NuGet V2 działająca na kestrelu w kontenerze Docker
- MyGet
- Nexus Repository OSS od Sonatype.
- Serwer NuGet (open source), implementacja typu open source podobna do serwera NuGet Inedo
- Serwera NuGet — projektu społeczności z witryny Inedo
- ProGet od Inedo
- Sleet, generator statycznego źródła danych NuGet V3 typu open source
- TeamCity z JetBrains.
- RepoFlow, prostą i łatwą w użyciu platformą zarządzania pakietami.
Niezależnie od tego, jak są hostowane pakiety, uzyskujesz do nich dostęp, dodając je do listy dostępnych źródeł w NuGet.Config
. Można to zrobić w programie Visual Studio zgodnie z opisem w Źródła pakietówlub z wiersza polecenia przy użyciu nuget sources
. Ścieżka do źródła może być lokalną nazwą ścieżki folderu, nazwą sieci lub adresem URL.