- 取得連結
- 以電子郵件傳送
- 其他應用程式
Nuget 是微軟提供給開發人員的套件管理工具,微軟也將很多官方套件放到官方的 Nuget Server。
微軟也提供文件說明架設 Nuget Server 的方法,下列為可能會需要自行架設 Nuget Server 的情境:
- 自行撰寫且無法公開在網路上的套件(公司內部使用的套件或包含敏感內容的類別庫 ... etc)
- 內部的資訊安全規定不允許沒有權限的開發人員直接連線到 Nuget Server,就可將有需要使用的 Nuget 套件上傳到內部 Nuget Server。
自行架設 Nuget Server 是微軟建議的共用類別庫解決方案
文章將介紹在 Windows Server 2016 的 IIS 伺服器架設 Nuget Server。
環境設定
- Nuget 伺服器作業系統
- Windows Server 2016 Standard
- 開發工具
- Visual Studio 2017 Community
建立 Nuget Server 使用的 ASP.NET Web 應用程式
微軟官方文件已有很清楚的說明,這邊進行實作的紀錄,詳細的文件請檢視下方「參考資料」
在 Visual Studio 新增「ASP.NET Web 應用程式」專案,.NET Framework 版本需為 4.6 以上。
![create aspnet web application](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/create-empty-aspnet-web-app.gif)
選擇「空白」應用程式。
![select empty template](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/select-empty-template.gif)
專案開啟後在「方案總管」點選右鍵開啟「管理 Nuget 套件」視窗。
![right click project select manage nuget package](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/right-click-select-manage-nuget-package.gif)
在「瀏覽」頁簽中尋找「Nuget.Server」套件並安裝。
官方文件中有提到若 .NET Framework 版本非 4.6 以上需安裝較舊版本
![search nuget server package in browse tab](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/search-nuget-server-package-in-browse-tab.gif)
安裝過程中會確認一些項目
![](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/confirm-preview.gif)
![](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/confirm-license.gif)
![](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/override-webconfig-file.gif)
基本的「Nuget.Server」就已經安裝完成,可以部署到 IIS 伺服器上了。
Nuget Server 的 web.config 部分設定
apiKey:若要進行 Nuget 套件上傳時需要使用此金鑰才可上傳,設定為「txstudio」。
此設定會在上傳套件到此 Nuget Server 時使用
![config apikey value](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/config-apikey-value.gif)
packagesPath:Nuget 套件檔案要儲存的路徑,設定為預設值「~/Packages」
![config packages path value](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/config-packagespath-value.gif)
發行 Nuget Server ASP.NET Web 應用程式
將應用程式發行到指定資料夾中
![right click select publish](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/publish-web-application.gif)
![publish application to folder](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/select-publish-to-folder.gif)
![published files](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/aspnet-application-published-files.gif)
部屬應用程式到 IIS 伺服器
將發佈資料夾路徑下的應用程式檔案複製到 IIS 伺服器
![aspnet application file in iis folder](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/nuget-server-file-in-iis-folder.gif)
安裝 IIS 伺服器角色時別忘記勾選 ASP.NET 4.6 應用程式支援。
![aspnet support in iis feature](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/select-aspnet-in-iis-feature.gif)
在此將設定繫結指定網址「nuget.txstudio.tw」稍後在用戶端網站透過強制修改 host 檔案的方式進行對應。
![iis website binding configuration](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/iis-bind-setting.gif)
瀏覽「nuget.txstudio.tw」顯示 Nuget.Server 版本資訊,網站已經正常運作。
![nuget server default page](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/nuget-server-default-page.gif)
預設頁面有包含此 Nuget Server 在套件管理員設定的 URL 路徑與套件檔案會儲存在伺服器中的哪個實體位置。
host 檔案設定:
![host configuration in server](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/host-config-in-iis-server.gif)
留言
張貼留言