Własny serwer NuGet

Każdy kto korzysta z VS wie co to NuGet i jak bardzo on upraszcza życie, dodawanie zewnętrznych bibliotek jest banalnie proste, aktualizacja do nowej wersji – jedno kliknięcie i gotowe. A co jeśli taki serwer możemy sobie sami postawić. O ile prostsze było by współdzielenie bibliotek we własnych projektach. Może w firmie której pracujecie dalej ręcznie podpinacie biblioteki, warto zaproponować postawienie takiego serwera – trwa to chwilę, a uprasza bardzo wiele.

Tworzenie własnego serwera

  1. Tworzymy pusty projekt ASP.NET Web Application (ASP.NET 4.x)
  2. Instalujemy paczkę NuGet.Server
  3. Wdrażamy aplikację na docelowy serwer
    NuGet jest dostępy pod adresem http://yourdomain/nuget
  4. Konfigurujemy i cieszymy się własnym serwerem NuGet

Konfiguracja

Konfiguracja to ustawienie odpowiednich wpisów w pliku web.config

Pierwsze co robimy to ustawienie klucza umożliwiającego wrzucanie paczek:

[xml]
<add key="apiKey" value="YOUR-API-KEY" />
[/xml]

Na czas testów możemy ustawić allowOverrideExistingPackageOnPush na true, co może się przydać jak zaczniemy uczyć się tworzyć paszki i wrzucać je na serwer.

[xml] <add key="allowOverrideExistingPackageOnPush" value="false" /> [/xml]

Wrzucanie paczek

Paczki wrzucamy aplikacją nuget.exe z parametrem push:

[bash]
nuget push {packagefile} -s http://yourdomain/nuget {apikey}
[/bash]

Kunfiguracja VisualStudio

Aby paczki z naszego serwera były widoczne w VS musimy dodać go do listy Package Sources. Aby to zrobić w VS 2015 otwieramy okno dodawania źródeł dla nugeta: Tools -> NuGet Package Manager -> Package Manager Settings.

W otwartym oknie wybieramy Package SourcesNuGet Package Sources

Klikamy dodaj i uzupełniamy dane naszego serwera.

Po zatwierdzeniu nasz serwer jest już widoczny na liście:NuGet Package Sources List

Teraz już możemy instalować z niego paczki.

Podsumowanie

Jak widać instalacja i konfiguracja własnego serwera NuGet to tylko kilka minut, a korzyść bardzo wiele. Myślę że warto to wdrożyć dla swoich projektów jak również w firmie jeśli dalej ręcznie podpinacie zewnętrzne biblioteki.

Więcej informacji: