How To NuGet: Teil 1 – Aufsetzen eines eigenen NuGet-Servers für .NET-Projekte

15.11.2016

Vor allem in einem Unternehmen oder kleinen Arbeitsgruppen ist ein eigener NuGet-Server sehr praktisch. Damit wird sichergestellt, dass die Build-Artifakte der einzelnen Projektgruppen als NuGet-Pakete zur Verfügung gestellt werden. Dadurch können sie von anderen Teams in unkomplizierter Weise mit Hilfe des NuGet Package Manager von Visual Studio verwendet werden.

Durch die Verwendung eines internen NuGet-Servers können nur jene Pakete genutzt werden, die zuvor durch die IT, oder einen entsprechenden Zuständigen, freigegeben wurde. Beispielsweise wird so sichergestellt, dass nur Pakete aus vertrauenswürdigen Quellen oder mit einem gewissen Reifegrad (keine Beta-Versionen etc.) im Projekt verwendet werden. Außerdem kann damit auch ein Firmenstandard eingehalten werden, der beispielsweise vorgibt, dass NLog nur in Version x verwendet werden soll.

Dieses Tutorial zeigt, wie ein eigener NuGet-Server aufgesetzt werden kann. Wie NuGet-Pakete dann automatisiert auf diesen eigenen NuGet-Server deployed werden können, schreibe ich in einem späteren Blog-Beitrag.

Und so funktioniert’s:

Erstellen des NuGet-Servers

Zum Erstellen des NuGet-Servers sind folgende Schritte notwendig:

  • In Visual Studio unter „File > New > Project“ eine ASP.Net Web Applikation auswählen.
  • „Empty“ für ein leeres Projekt auswählen und den Haken bei „Host in the cloud“ entfernen.
  • Im Solution Explorer Rechtsklick auf References und dort „Manage NuGet Packages…“ wählen.
  • Unter Browse nach „NuGet.Server“ suchen und den „NuGet.Server“ installieren. Hier alle Komponenten installieren und Lizenzen bestätigen.
  • Bei „File Conflict“ mit „Yes to All“ bestätigen.
  • In der „Web.config“ für „apiKey“ einen Wert setzen. Dieser Wert entspricht dem Passwort, das benötigt wird um einen Push zum Server zu tätigen.
  • Im Solution Explorer Rechtsklick auf das Projekt und „Publish…“ wählen.
  • Für das Target „Custom“ auswählen, einen beliebigen Namen angeben und bestätigen.
  • Für die „Publish method“ im Dropdown-Menü „File System“ wählen und dort den gewünschten Pfad angeben. Mit „Publish“ bestätigen.

 

Deployen des NuGet-Servers in IIS (Internet Information Services)

Um den NuGet-Server auf dem Windows Server 2012 zu deployen, sind folgende Schritte notwendig:

  • Den Ordner mit den veröffentlichen Inhalten auf den Server kopieren und im Verzeichnis „C:\inetpub\wwwroot\“ ablegen.
  • Den „IIS Manager“ starten.
  • Im IIS Manager im Connections-Bereich Rechtsklick auf „Sites“ und „Add Website“ auswählen.
  • Den gewünschten „Site name“ eintragen. Unter „Physical path“ den in „C:\inetpub\wwwroot\“ abgelegten Ordner auswählen. Den gewünschten Port eintragen.
  • Falls notwendig den Port über die IT freigeben lassen.

 

Quellen

[1] http://www.hanselman.com/blog/HowToHostYourOwnNuGetServerAndPackageFeed.aspx
[2] https://docs.nuget.org/create/hosting-your-own-nuget-feeds#creating-remote-feeds
[3] http://nugetserver.net/
[4] http://www.codeproject.com/Articles/872230/Create-Your-Own-Private-NuGet-Server-in-Windows-Az

Zurück zur Übersicht

6 Kommentare zu “How To NuGet: Teil 1 – Aufsetzen eines eigenen NuGet-Servers für .NET-Projekte

  1. “ schreibe ich in einem späteren Blog-Beitrag“
    ….

    eine Verlinkung wäre schön.

  2. Es gibt außerdem Anbieter (http://nugetserver.net/), bei denen man eine vereinfachte Installation des NuGet Servers kaufen kann. Jedoch ist dies mit diesem Artikel garnicht notwendig :)

    Bei doubleSlash haben wir übrigens bereits auch solch einen NuGet-Server ;-)

  3. Hallo Michael,

    wenn du ein Windows Sever OS hast, ist der IIS bereits integriert und es fallen keine zusätzlichen Kosten an (bis auf das OS).

    Grüße
    Stefan

  4. Danke für den Beitrag. Im M$ Umfeld frage ich mich spontan wie es mit den Kosten und Lizenzen für einen solchen Server ausschaut?!

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*Pflichtfelder

*