Alojando os seus próprios feeds NuGet
Em vez de disponibilizar pacotes publicamente, talvez você queira liberar pacotes apenas para um público limitado, como sua organização ou grupo de trabalho. Além disso, algumas empresas podem querer restringir quais bibliotecas de terceiros seus desenvolvedores podem usar e, assim, direcionar esses desenvolvedores a usar de uma fonte de pacote limitada em vez de nuget.org.
Para todos esses fins, o NuGet oferece suporte à configuração de fontes de pacotes privados das seguintes maneiras:
- Feed local: os pacotes são simplesmente colocados em um compartilhamento de arquivos de rede adequado, idealmente usando
nuget init
enuget add
para criar uma estrutura hierárquica de pastas (NuGet 3.3+). Para obter detalhes, consulte Feeds locais. - NuGet.Server: Os pacotes são disponibilizados através de um servidor HTTP local. Para obter detalhes, consulte NuGet.Server.
- Galeria NuGet: os pacotes são hospedados em um servidor de Internet usando o do Projeto Galeria NuGet (github.com). A Galeria NuGet fornece gerenciamento de usuários e recursos como uma extensa interface do usuário da Web que permite pesquisar e explorar pacotes de dentro do navegador, semelhante ao nuget.org.
Há também vários outros produtos de hospedagem NuGet, como Azure Artifacts e o registro de pacotes do GitHub que oferecem suporte a feeds privados remotos. Abaixo está uma lista de tais produtos:
- Artifactory da JFrog.
- Azure Artifacts, que também está disponível no Team Foundation Server 2017 e posterior.
- BaGet, uma implementação de código aberto do servidor NuGet V3 construído no ASP.NET Core
- BaGetter, um fork de código aberto e orientado para a comunidade da BaGet
- Bytesafe Uma plataforma de segurança de pacotes e cadeia de suprimentos totalmente gerenciada
- Cloudsmith, um SaaS de gerenciamento de pacotes totalmente gerenciado
- Feedz.io um SaaS de gestão de pacotes completa
- O Gitea, um serviço Git de código aberto e auto-hospedável, suporta o NuGet como registo de pacotes
- registro do pacote GitHub
- Registo de Pacotes do GitLab
- JetBrains Space
- LiGet, uma implementação de código aberto do servidor NuGet V2 que opera em Kestrel no Docker
- MyGet
- Nexus Repository OSS da Sonatype.
- NuGet Server (Open Source), uma implementação de código aberto semelhante ao NuGet Server do Inedo
- NuGet Server, um projeto comunitário da Inedo
- ProGet de Inedo
- Sleet, um gerador de feed estático NuGet V3 de código aberto
- TeamCity da JetBrains.
- RepoFlow, uma plataforma de gerenciamento de pacotes simples e fácil de usar.
Independentemente de como os pacotes são hospedados, você os acessa adicionando-os à lista de fontes disponíveis em NuGet.Config
. Isso pode ser feito no Visual Studio conforme descrito em Package Sourcesou na linha de comando usando nuget sources
. O caminho para uma origem pode ser um nome de caminho de pasta local, um nome de rede ou uma URL.