Hospedando seus próprios feeds do NuGet
Em vez de disponibilizar os pacotes publicamente, pode ser útil 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, portanto, direcionando os desenvolvedores para obterem pacotes de uma origem limitado em vez do nuget.org.
Para todas as finalidades, o NuGet é compatível com a configuração de origens de pacotes privadas das seguintes maneiras:
- Feed local: pacotes são simplesmente colocados em um compartilhamento de arquivos de rede adequado, visto que o ideal seria usar
nuget init
enuget add
para criar uma estrutura hierárquica de pastas (NuGet 3.3 ou superior). Para obter detalhes, consulte Feeds Local. - NuGet.Server: os pacotes são disponibilizados por meio de um servidor HTTP local. Para ver mais detalhes, consulte NuGet.Server.
- Galeria do NuGet: os pacotes são hospedados em um servidor de Internet usando o Projeto da Galeria do NuGet (github.com). A Galeria do NuGet fornece gerenciamento de usuários e recursos como uma interface do usuário extensiva 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 do NuGet, como o 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.
- O 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 criada no ASP.NET Core
- BaGetter, um fork de código aberto controlado pela comunidade do BaGet
- Bytesafe, uma plataforma de segurança de pacotes e cadeia de fornecedores totalmente gerenciada
- Cloudsmith, um SaaS de gerenciamento de pacotes totalmente gerenciado
- Feedz.io, um SaaS de gerenciamento de pacotes totalmente gerenciado
- Gitea, um serviço do Git de código aberto e auto-hospedável com suporte ao NuGet como um registro de pacote
- Registro de pacote do GitHub
- Registro de pacote do GitLab
- JetBrains Space
- LiGet, uma implementação em código aberto do servidor NuGet V2 que é executado no kestrel no docker
- MyGet
- Software livre do repositório do Nexus da Sonatype.
- NuGet Server (Software Livre), uma implementação de software livre semelhante ao NuGet Server da Inedo
- NuGet Server, um projeto da comunidade do Inedo
- ProGet da Inedo
- Sleet, um gerador de feed estático de NuGet V3 de código-fonte aberto
- TeamCity da JetBrains.
Independentemente de como os pacotes são hospedados, acesse-os adicionando-os à lista de origens disponíveis em NuGet.Config
. Isso pode ser feito no Visual Studio, conforme descrito em Origens 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.