Ich habe kürzlich Nuget Gallery (https://github.com/NuGet/NuGetGallery) als Repository installiert. Idealerweise möchte ich mehrere Feeds erstellen, um zwischen Nuget-Paketen, die in anderen Projekten wiederverwendet werden (DLLs, Verträge usw.), von den Paketen unterscheiden zu können, die wir für die Bereitstellung unserer Projekte in der Produktionsumgebung verwenden.Nuget Gallery mit mehreren Feeds
Ich weiß, dass ich dies erreichen kann, indem ich mehrere Instanzen der Nuget Gallery erstelle, aber das scheint mir ein bisschen übertrieben zu sein, es würde zwei Websites zwei Datenbanken bedeuten. Mir ist auch bekannt, dass MyGet dies funktional bietet, aber ich werde keine Genehmigung für den Kauf erhalten. Ich weiß auch, dass teamcity einen eigenen Feed-Server enthält, aber dieses Mehrfach-Feed-Szenario nicht erlaubt und auch nicht gut genug ist, um in großem Umfang genutzt zu werden.
In aller Kürze das ideale Einsatzszenario wie folgt sein würde:
- Teamcity generiert Bereitstellungspaket oder dll/Vertragspaket, je nach dem Build-Szenario.
- teamcity veröffentlicht Bereitstellungspakete in einem Nuget-Galerie-Bereitstellungs-Feed (z. B .: nugetgallery.server.com/ deploy/api/v2).
- teamcity veröffentlicht Dll/Vertragspakete zu einem nugget gallery dev feed (sagen: nugetgallery.server.com/ dev/api/v2).
- Krake sucht immer nach Paketen in nugetgallery.server.com/ in nugetgallery.server.com/ dev/api/v2
Auf diese Weise behalte ich die Dinge sauber und ich kann sogar einen dritten Feedtyp erstellen, der nur Release-Pakete enthält, sodass ich sicher sein kann, dass nichts zur Produktion bereitgestellt wird, wenn es nicht in diesem Feed enthalten ist.
Ich könnte einige grundlegende Ansatz verpasst haben, so dass Alternativen zu dieser, die ich ausgewählt habe, sind willkommen.
, zwei nuget Feeds erfordert zwei Websites, für NugetGallery und NugetServer. Benötigt es zwei Datenbanken? Ich habe noch nie mit NugetGallery gearbeitet, aber für NuGetServer weiß ich, dass Sie die beiden Websites auf den gleichen Repository-Pfad verweisen können. –
Ich bin ziemlich sicher, dass ich auch zumindest die Dateien auf der gleichen Stelle zeigen könnte, aber nicht so sicher über die gleiche Datenbank für zwei verschiedenen Standorten, wie ich nicht einen Weg finden kann es Pakete basierend auf der URL unterscheiden würden sie aus hochgeladen wurden . Ich denke, es wäre wie zwei Instanzen der gleichen Website nicht zu haben? Es gibt eine Gallery.SiteRoot-Taste, die ich ausprobieren und damit spielen kann, sehen, ob der Zweck passt – rjso
Hmmm, guter Punkt. Bei Ihrer Einrichtung würden Sie zwei Datenbanken benötigen, weil Sie Kollisionen mit Paket-IDs hätten, wenn Sie eine Datenbank freigegeben hätten, richtig? Das bedeutet für mich, dass Sie wahrscheinlich zwei separate Datenbanken benötigen. –