Hospedando seus próprios feeds do NuGet
Em vez de disponibilizar pacotes publicamente, talvez você queira liberar pacotes para apenas 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, portanto, direcionar esses desenvolvedores para extrair de uma fonte de pacote limitada em vez de nuget.org.
Para todas essas finalidades, o NuGet dá suporte à configuração de fontes de pacote privado 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 de pasta hierárquica (NuGet 3.3+). Para obter detalhes, consulte Feeds Locais. - NuGet.Server: os pacotes são disponibilizados por meio de um servidor HTTP local. Para obter detalhes, consulte NuGet.Server.
- Galeria do NuGet: Os pacotes são hospedados em um servidor da Internet usando o Projeto NuGet Gallery (github.com). A Galeria do NuGet fornece recursos e gerenciamento de usuários, como uma interface do usuário da Web extensa que permite pesquisar e explorar pacotes de dentro do navegador, semelhante a nuget.org.
Há também vários outros produtos de hospedagem do NuGet, como do Azure Artifacts e registro de pacotes do GitHub que dão suporte a feeds privados remotos. Veja abaixo uma lista desses produtos:
- Artifactory de JFrog.
- do Azure Artifacts, que também está disponível no Team Foundation Server 2017 e posterior.
- BaGet, uma implementação de software livre do servidor NuGet V3 construída sobre o ASP.NET Core
- o BaGetter, um fork de código aberto e orientado pela comunidade do BaGet
- Bytesafe Uma plataforma de segurança da cadeia de suprimentos e gerenciamento de pacotes totalmente integrada.
- Cloudsmith, um SaaS de gerenciamento de pacotes completo
- Feedz.io um SaaS de gestão de pacotes totalmente gerenciado
- Gitea, um serviço Git auto-hospedado de software livre que dá suporte ao NuGet como um registro de pacotes
- de registro de pacote do GitHub
- Registro de Pacotes do GitLab
- JetBrains Space
- do LiGet, uma implementação de software livre do servidor NuGet V2 que é executada no kestrel no docker
- MyGet
- Nexus Repository OSS da Sonatype.
- do Servidor NuGet (Software Livre), uma implementação de software livre semelhante ao Servidor NuGet do Inedo
- do NuGet Server, um projeto de comunidade do Inedo
- ProGet do Inedo
- Sleet, um gerador de feed estático do 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 no NuGet.Config
. Isso pode ser feito no Visual Studio, conforme descrito em Fontes de Pacote , ou 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.