# nuget 私服架設 ##### tags: `.Net` `筆記` `CI/CD` `nuget` `工具分享` 之前有分享了使用 [Nexus Repository Manager](https://hackmd.io/jjdBAQRcRbmpvkD87sde9g) 做公司內部的共用套件使用,但有些公司可能並不需要這麼大型的,只需要針對 .Net Nuget 架設即可,下面就來介紹一下怎麼開始。 介紹 --- [Nuget.Server](https://learn.microsoft.com/zh-tw/nuget/hosting-packages/nuget-server) 在微軟官方已經有安裝的流程,可以到官方那邊查看。但他目前沒有網頁可以查看上面已經推送的列表,在管理或查閱有點不方便 [BaGet](https://loic-sharma.github.io/BaGet/) 一套提供輕量化及網頁查看套件列表的版本。而且是 .Net Core 的! 下面就來介紹 BaGet 該怎麼使用 安裝 --- BaGet 有提供原始碼在 GitHub 上,[BaGet GitHub](https://github.com/loic-sharma/BaGet) 過去可以看到寫著他的優點 輕量化、圖像式(symbol) ![image](https://hackmd.io/_uploads/BJxHAGiL_C.png) 安裝的步驟也是非常的簡單,下載然後同 .Net Core 的部署方式(IIS、Docker) ![image](https://hackmd.io/_uploads/HJNj7oL_R.png) 從官方的 Source 抓下來看,可以發現他還在使用 .Net Core 3.1 所以假如有考慮 .Net 版本一致的話,可以做一些升級在編譯部署 下載 Release 版本後,在資料夾內執行,並訪問 http://localhost:5000/ 就可以看到官方提供的畫面 ``` dotnet BaGet.dll ``` 指令 --- 要開始啟用 nuget 指令,就要先去 [nuget 網站](https://www.nuget.org/downloads)下載 command line 工具 接著以下介紹安裝、推送工具到 nuget server * 安裝 ```shell= nuget install <套件名稱> -version <版本> -OutputDirectory <輸出目錄> ## 執行安裝 System.Memory 4.5.5 並輸出到 D:\Packages nuget install System.Memory -version 4.5.5 -OutputDirectory D:\Packages ## 不指定版本預設就是最新版 nuget install Newtonsoft.Json -OutputDirectory C:\Packages ``` * 推送到 Nuget Server ```shell ## 推送 System.Memory.4.5.5 nuget push D:\packages\System.Memory.4.5.5\System.Memory.4.5.5.nupkg -Source http://localhost:5000/api/v2/package ## 推送 Newtonsoft.Json.13.0.3 nuget push D:\Packages\Newtonsoft.Json.13.0.3\Newtonsoft.Json.13.0.3.nupkg -Source http://localhost:5000/api/v2/package ``` 執行完上面的 push 後,在頁面上就可以看到剛剛推送的工具 ![image](https://hackmd.io/_uploads/H1L2DNPOR.png)