經過ProGet搭建一個內部的Nuget服務器

.NET Core項目徹底使用Nuget 管理組件之間的依賴關係,Nuget已經成爲.NET 生態系統中不可或缺的一個組件,從項目角度,將項目中各類組件的引用通通交給NuGet,添加組件/刪除組件/以及更新組件便可一鍵完成,大大提高工做效率,減小沒必要要的引用報錯。從運維角度,可在不影響老版本的狀況下發布新版本,可統一管理公司各個項目中組件版本不一和各個版本組件的使用狀況,減小故障發生以並使得項目穩定運行。 html

nuget.org 有個指南Hosting Packages Overview 告訴你如何本身搭一個nuget Server,社區還有下面的幾個相關方案均可以實現本身搭建Nuget Server: web

  • Nexus: 支持NuGet, 他也是能夠無償使用的,對於要同時支持Maven等的能夠考慮,對於純粹的.NET支持上有點重
  • MyGet: 這是一個Nuget雲服務,不適合企業內的私有部署
  • Self-hosted feeds: 小團隊使用能夠,很快你就會掉到坑裏,一個很簡陋的NuGet服務器很難以知足各方面的需求
  • ProGet,它和Nexus同樣雖然是商業軟件,支持nuget、npm、docker等,但它是.NET生態應用,並且還提供了免費版本,博客園也是用ProGet,具體參看dudu的文章《用ProGet搭建內部的NuGet服務器》

下面咱們就來看看如何使用ProGet搭建一個內部的NuGet服務器,因爲時間的關係dudu的安裝方法已經不適用了,實質上ProGet分爲綠色版和安裝包兩個版本,綠色版就是dudu上面所說的,而簡單點的是直接安裝包安裝,跟着嚮導作就能夠了,下面介紹下綠色版的安裝: docker

一、 瀏覽器打開http://inedo.com/proget/versions 並下載最新的4.3.1 Manual Install版 數據庫

proget43

二、 解壓下載文件,獲得3個文件夾:ProGet-Service 、ProGet-WebApp與ProGet-DbChangeScripter npm

三、 參考http://inedo.com/support/documentation/proget/installation/manual ,咱們使用IIS來承載,須要安裝數據庫和IIS 站點。 瀏覽器

四、 在IIS中建立一個站點指向ProGet-WebApp文件夾,應用程序池配置爲經典模式(Classic)。[注:若是採用集成模式(Integrated),會出現HTTP Error 403.14 - Forbidden錯誤]。 緩存

五、 在SQL Server中建立一個名爲ProGet的數據庫,而後運行ProGet-DbChangeScripter文件夾中的bmdbupdate.exe程序。出現命令行菜單,輸入update(進行update操做),接着輸入數據庫鏈接字符串回車,默認true,繼續回車(進行數據庫初始化操做),而後會進行數據庫初始化操做。 服務器

progetupdatedb

六、 在完成數據庫初始化操做以後,修改一下web.config中的數據庫鏈接字符串,而後就能夠正常訪問本身搭建的ProGet站點。 運維

七、 去ProGet的官網 my.inedo.com 註冊一個賬戶並獲取免費版的License Key,登陸進入本身搭建的ProGet站點,點擊「Licensing and Activation」,輸入以前獲得的License Key進行激活。激活後就能夠正常使用ProGet 命令行

八、 進入 Manage Default Feed ,修改一下Disk Path的值,設置爲存放packages文件的物理路徑。

除了用於存放本身的nuget packages,ProGet還能夠經過connector鏈接到遠程的nuget.org服務器,這樣能夠把ProGet站點做爲nuget.org的緩存服務器。

相關文章
相關標籤/搜索