我最近安裝了Nuget Gallery(https://github.com/NuGet/NuGetGallery)作爲存儲庫。理想情況下,我想創建多個提要,以便我們可以區分將用於將項目部署到生產環境的包的其他項目(dll,合同等)中重用的nuget包。具有多個Feed的Nuget Gallery
我知道我可以通過創建Nuget Gallery的多個實例來實現這一點,但是這對我來說似乎有點矯枉過正,這意味着兩個網站會有兩個數據庫。我也很熟悉MyGet在功能上提供此功能,但我無法獲得購買批准。我也知道teamcity包含它自己的提要服務器,但它不允許這種多饋源方案,也沒有足夠好的性能來大規模使用。
簡而言之理想部署方案將是如下:
- TeamCity的生成部署包或DLL /合約套餐,根據不同的構建場景。
- teamcity發佈部署包到nuget庫部署飼料 (說:nugetgallery.server.com/ 部署/api/v2)。
- teamcity將dll/contract軟件包發佈到nuget gallery開發人員供稿 (例如:nugetgallery.server.com/ dev/api/v2)。
- 章魚始終搜索包在 nugetgallery.server.com/ 部署/API/V2
- 開發者/ TeamCity的在 nugetgallery.server.com/軟件包搜索開發/API/V2
這樣我就保持乾淨,甚至可以創建只包含發佈包的第三種類型的Feed,這樣我就可以確定沒有任何東西會被部署到生產環境中。
我可能錯過了一些基本的方法,所以我選擇這個選擇的替代方案是受歡迎的。
據我所知,兩名飼料的NuGet需要兩個網站,爲NugetGallery和NugetServer。它需要兩個數據庫嗎?我從來沒有使用NugetGallery,但對於NuGetServer,我知道你可以將這兩個網站指向同一個存儲庫路徑。 –
我相當有信心,我也可以指出至少文件到同一位置,但不太確定兩個不同網站的同一個數據庫,因爲我想不出一種基於它們上傳的url來區分軟件包的方式。我認爲這將有兩個同一個網站的實例沒有?有一個Gallery.SiteRoot鍵,我可以嘗試和它一起玩,看看是否適合目的 – rjso
嗯,好點。使用你的設置,你需要兩個數據庫,因爲如果你共享一個數據庫,你會有包ID衝突,對嗎?這對我來說意味着你可能需要兩個獨立的數據庫。 –