2012-12-20 48 views
4

NuGet網站有一個優秀的文章來託管您自己的NuGet飼料。在我們的情況下,我們是一家IT服務商,需要在開發人員可以使用它之前對其進行全面審查,因此我們希望託管我們自己的Feed,以提供「批准的軟件包」。這篇文章的一個亮點就是如何將nuget包裝下載以便託管。例如,如果我們想要託管EntityFramework 5.0.0,所以我們的開發人員可以使用它,我們如何在不使用NuGet的情況下獲取包,因爲策略阻止NuGet訪問主機通過我們的防火牆?下載NuGet軟件包用於自我託管飼料

回答

1
  1. 創建一個主機服務器(聽起來像你有,但如果沒有,它是安裝和託管一個NuGet.Service)。
  2. 確認它的工作訪問的主機(應該會看到一個非常簡單的儀表盤稱的NuGet服務號碼等)
  3. 開放VisualStudio的選項,「Pakcage管理器」 - >「包源」
  4. 添加您的內部主機在這裏(可能類似於http://internalsvr/nuget

然後,您應該能夠在本地安裝源代碼包。另外,你可以在那裏推送東西,或將包放入~/packages/目錄,它們將自動列在服務中。

+0

感謝您的迴應Brad。我們的問題是獲取我們想要部署到我們自己的主機的包,例如EntityFramework。如果沒有NuGet,他們不會輕鬆到達軟件包。我們只能在防火牆後面使用NuGet。 –

+0

假設_someone_已經獲得軟件包(不在現場或將筆記本電腦帶回家),軟件包將緩存在解決方案的文件夾中,然後可以將其上載到本地(內部)服務器。除此之外,你可能會去github/bitbucket並下載源代碼並編譯你自己的包並上傳它。 –

3

假設你沒有完全從nuget.org中斷,你可以使用ProGet託管你的網絡的飼料。由於ProGet允許您創建多個訂閱源並連接到其他NuGet訂閱源,因此您可以創建一個訂閱源,例如「NuGet Cached」,然後是「Developer」訂閱源,併爲這兩個訂閱源指定相同的包存儲位置。竅門是在「NuGet Cached」feed中設置一個連接到nuget.org,然後使用Pull Package功能將託管的NuGet包下載到本地提要。

通過這種方式,開發人員可以將Visual Studio(或任何他們用來獲取軟件包的工具)設置爲指向僅包含明確拉下的軟件包的「Developer」feed(因爲這兩個feed都將軟件包存儲在相同的位置)。您也可以將拒絕權限添加到「NuGet Cached」Feed中,以便它們根本無法連接到它。