Press enter to see results or esc to cancel.

Publicando seu pacote NuGet

Ao longo desta série sobre NuGet você aprendeu a gerenciar pacotes instalados na sua aplicação, depois a utilizar o NuGet da forma correta para que ele seja capaz de restaurar os pacotes automaticamente, e por último, aprendeu a criar seu próprio pacote. Mas de que adianta criar um pacote todo customizado se você não pode compartilhá-lo com a comunidade? É justamente isso que você aprenderá neste último post da série.

Publicando seu pacote

Tendo seu pacote .nupkg gerado do post anterior, você só precisa enviá-lo para algum servidor. Você tem várias maneiras diferentes de enviar seu pacote, todas chegam ao mesmo resultado. Mostrarei algumas maneiras, você escolhe qual achar melhor.

nuget.org

O nuget.org é disparado o maior acervo de pacotes para .NET, então vou mostrar primeiramente como publicar um pacote lá.

Primeiro, acesse o site e crie sua conta. É bem rápido, basicamente você só precisa de um e-mail válido. Depois de criar a conta, vá até a página do seu perfil. Lá você encontrará um botão bem sugestivo para enviar seu pacote. Faça o upload, preencha as informações detalhadas para que as pessoas saibam como utilizar sua biblioteca e como achá-la nas bucas. Prossiga e aguarde alguns minutos até que ela seja publicada.

nuget.org options

Pronto! Sério! Agora todo mundo já pode instalar a sua biblioteca utilizando o comando Install-Package.

Você também pode fazer o upload da sua biblioteca utilizando a linha de comando ou o NuGet Package Explorer, mas para isso você vai precisar dizer ao NuGet.org que é realmente você quem está fazendo upload da biblioteca, isso impedirá pacotes com mesmo ID e possivelmente “impostores” se passando por você.

Volte para sua página de perfil no nuget.org, perceba que ao final da página existe uma chave de API que foi gerada para você. Não divulgue essa chave, ela é a garantia de que só você pode publicar bibliotecas com o seu usuário.

nuget.org api key

Você precisará da chave acima para publicar seu pacote sempre que não utilizar o site.
Para enviar um pacote através de linha de comando utilize o comando:

nuget push Nome.nupkg CHAVE

Por padrão o comando push envia o pacote para o nuget.org, caso queria enviar para outro feed, utilize o parâmetro -Source para especificar o endereço do seu feed.

Essa maneira pode parecer desnecessariamente mais trabalhosa, mas lembre-se que sempre que você precisar automatizar algum processo (como um processo pós-build) você vai acabar tendo que criar um script que utiliza linha de comando.


Publicar através do NuGet Package Explorer é mais simples ainda, basta selcionar File > Publish

publish

Escolha o endereço, preencha a chave e clique em Publish.

publish options

Lembre-se que você preencheu todas as informações relevantes da sua biblioteca no .nuspec no momento da sua criação. Essas informações serão lidas pelo nuget.org no momento em que você fizer o push do seu pacote.

MyGet.org

Um site interessante que pode lhe ser útil é o MyGet.org. Como o nome sugere, ele é um servidor NuGet particular. Você pode usá-lo caso queira ter mais controle a respeito dos pacotes que compartilha. Além de ter um endereço de feed próprio, você pode limitar o acesso apenas a usuários autorizados. O melhor é que ele é uma daquelas ferramentas com planos grátis para pacotes open source. Basta cadastrar e você terá 500mb de espaço livre para um feed público.

O processo de publish nele é bem semelhante. Ele também vai permitir upload pelo site, pela linha de comando e pelo NPE. Basta se cadastrar e criar um feed. Para este post eu criei um feed temporário lá e recebi a seguinte URL:

https://www.myget.org/F/temp/

As opções são propositalmente bem semelhantes às do nuget.org. Veja também que ele já mostra qual comando você precisa executar para enviar seu pacote, perceba o parâmetro -Source que citamos anteriormente.

myget options

Ele mantém um histórico de todas versões dos seus pacotes, assim como o nuget.org. Basta ter o espaço suficiente. Você pode utilizar o MyGet para manter dependências internas de sua equipe atualizadas entre múltiplos projetos.

myget histórico

Lembrando que, conforme mostrado no primeiro post da série, para que você possa utilizar o seu feed do MyGet basta adicioná-lo em Package Sources nas opções do NuGet no Visual Studio.

☑ NuGet

O NuGet é capaz de muito mais do que foi mostrado ao longo desta série de posts, a ideia era apenas apresentá-lo e introduzir as funções mais básicas dessa ferramenta que é essencial para todo programador .NET hoje. Lembre-se que a documentação possui cada detalhe do que pode ser feito, aprofunde-se quando necessário.

Tweet about this on TwitterShare on FacebookShare on LinkedInEmail this to someone
Tags

Comments

1 Comment

claudia

Sucesso total. mto bom tutorial.


Leave a Comment