Размещение собственных веб-каналов NuGet
Вместо того чтобы сделать пакеты общедоступными, может потребоваться освободить пакеты только для ограниченной аудитории, например вашей организации или рабочей группы. Кроме того, некоторые компании могут потребовать ограничить, какие сторонние библиотеки могут использовать их разработчики, и таким образом направить этих разработчиков на использование ограниченного источника пакетов, а не nuget.org.
Для всех таких целей NuGet поддерживает настройку источников частных пакетов следующими способами:
- Локальное размещение: Пакеты просто размещаются в подходящем сетевом файловом ресурсе, предпочтительно с использованием
nuget init
иnuget add
для создания иерархической структуры папок (NuGet 3.3+). Дополнительные сведения см. в локальных лентах. - NuGet.Server: пакеты становятся доступными через локальный HTTP-сервер. Дополнительные сведения см. в разделе NuGet.Server.
- Коллекция NuGet. Пакеты размещаются на интернет-сервере с помощью проекта коллекции NuGet (github.com). Коллекция NuGet предоставляет управление пользователями и функции, такие как обширный веб-интерфейс, который позволяет выполнять поиск и изучение пакетов из браузера, как и nuget.org.
Существует также несколько других продуктов размещения NuGet, таких как Azure Artifacts и реестр пакетов GitHub , которые поддерживают удаленные частные фиды. Ниже приведен список таких продуктов:
- Artifactory из JFrog.
- Артефакты Azure, которые также доступны на Team Foundation Server 2017 и более поздних версиях.
- BaGet— реализация сервера NuGet версии 3 с открытым кодом, построенного на ASP.NET Core
- BaGetter, открытая и управляемая сообществом форк BaGet
- Bytesafe полностью управляемая платформа безопасности пакета и цепочки поставок
- Cloudsmith, полностью управляемое управление пакетами SaaS
- Feedz.io полностью управляемое управление пакетами SaaS
- Giteaс открытым исходным кодом, самостоятельно хостируемая служба Git, поддерживает NuGet в качестве реестра пакетов
- реестр пакетов GitHub
- Реестр пакетов GitLab
- JetBrains Space
- LiGet— реализация сервера NuGet версии 2 с открытым кодом, работающего в kestrel в Docker
- MyGet
- Nexus Repository OSS из Sonatype.
- NuGet Server (Open Source), реализация с открытым исходным кодом, аналогичная серверу NuGet в Inedo
- NuGet Server, проект сообщества из Inedo
- ProGet из Inedo
- Sleet, генератор статических веб-каналов NuGet версии 3 с открытым исходным кодом
- TeamCity из JetBrains.
- RepoFlow— простая и удобная в использовании платформа управления пакетами.
Независимо от того, как размещаются пакеты, вы можете получить доступ к ним, добавив их в список доступных источников в NuGet.Config
. Это можно сделать в Visual Studio, как описано в источниках пакетовили из командной строки с помощью nuget sources
. Путь к источнику может быть именем локальной папки, именем сети или URL-адресом.