Posso publicar um pacote NuGet privado?

107

Tenho uma montagem que fiz que é muito específica para a minha equipa na minha empresa. Quero poder usar o NuGet para tornar essa montagem disponível para outros projetos nos quais minha equipe e equipes semelhantes em minha empresa estão trabalhando. No entanto, o assembly não é realmente um código que eu queira compartilhar com o mundo.

Eu sei que com o Maven, você pode criar repositórios locais e pacotes de origem de um repo local. O NuGet oferece suporte a uma funcionalidade semelhante? Existe uma maneira com o NuGet de especificar um repositório local ou ter pacotes privados?

Stevebot
fonte

Respostas:

92

Sim! Você pode hospedar seu próprio servidor NuGet!

A maneira mais fácil é criar uma pasta compartilhada em seu servidor e fazer referência a ela como seu servidor Nuget.

Você pode encontrar mais informações sobre como fazer isso em: Hospedando seus próprios feeds NuGet

Glauco Vinicius
fonte
3
No link acima, role para baixo até a seção 'Criando Feeds Remotos' se você estiver procurando criar um servidor real, acessível via HTTP, para hospedar seus assemblies.
Kevin Kalitowski
6
Embora esta seja provavelmente a maneira mais fácil, significa que você precisa compartilhar a pasta com todos, e qualquer pessoa com acesso pode (acidentalmente ou não) alterar seu conteúdo. Uma maneira melhor (mas simples) é criar seu próprio servidor usando NuGet.Servere hospedar no IIS ou Azure. Você poderá então enviar pacotes usando uma chave de API e qualquer pessoa pode se inscrever no feed. Aqui está um guia fácil para criar seu próprio servidor NuGet .
Alex Sanséau
Funcionou como um encanto!
Andro
Eu tive o mesmo problema. e encontrei o seguinte: Scott: hanselman.com/blog/… também: nicolaiarocci.com/…
Michael Mittermair
21

Outra opção para hospedar seu próprio servidor NuGet é usar o JetBrains TeamCity como um servidor de compilação. A configuração é descrita aqui .

O servidor Team City atua como um repositório NuGet que seria / poderia / deveria ser acessível apenas dentro de sua empresa.

Com base no seu uso, existem versões gratuitas do software.

Ele tem algumas opções interessantes, como a capacidade de publicar uma nova versão do NuGet sob demanda, com cada nova construção de integração contínua, etc. Uma das partes mais úteis (como com todas as implementações de servidor NuGet) é que ele manterá dezenas de versões mais antigas de seus assemblies, portanto, se você tiver um projeto que precisa fazer referência à versão mais recente e outro projeto que precisa fazer referência a uma versão mais antiga, tudo funcionará.

Kevin Kalitowski
fonte
2
Embora você esteja correto, o TeamCity tem muito pouco a ver com o NuGet, por dizer, e há outras opções para um servidor NuGet (que é o que ele está pedindo). TeamCity é um servidor de integração contínua que por acaso possui um servidor NuGet integrado.
Jim Aho
14

Confira a edição gratuita do ProGet ; nós o construímos exatamente para este propósito. Leva muito menos tempo para configurar e oferece muitos recursos acima e além daqueles oferecidos pelo servidor NuGet padrão, como vários feeds, agregação de feed e tipos de repositório adicionais (npm, Bower, etc.)

Se você quiser pagar pela versão corporativa, também terá a capacidade de usar LDAP para autenticação e filtrar feeds por nome / licença de feeds conectados (ou seja, feed oficial do NuGet).

Tod Hoven
fonte
2

Sim, você pode ter feeds locais. É muito simples de configurar, dê uma olhada aqui .

MyGet é popular para hospedar feeds privados. Não é grátis, mas dê uma olhada nos preços e talvez seja adequado para você!

Jim Aho
fonte