[DevOps自動化-2] 架設自己的Nuget Server

架設套件控管Server,讓自家的元件也能像Nuget一樣方便管理

前言

有使用過Nuget的開發者應該都知道Nuget控管套件版本的威力和便利性,但畢竟只限於Nuget上的套件可以使用此方式管理,而企業內部開發的元件,在管理上依然處於水深火熱之中,但顧及資安的問題,這類型的元件也不希望放到Nuget上面,因此,架設內部的Nuget Server似乎是不錯的選擇。

 

Get Start

架設內部的Nuget Server透過第三方套件的幫忙,還算蠻簡單的,充其量就是架設一個Web站台的服務罷了。首先,打開Visual Studio建立一個Web專案,這裡選擇Empty的Template即可,除非還想另外加掛自行開發的功能,如果只是單純當作Nuget私服使用,Empty的Template已經足夠。

專案建立完成後,透過Nuget,下載Nuget.Server套件,這裡有一個雷,在下載套件之前,請確認.Net framework是否選到4.6.1以上,否則編譯會失敗。

.Net framework調整完畢後,便可搜尋Nuget.Server套件,如下圖所示

注意搜尋的時候,一定要打"."分隔,不然會下載到"NugetServer",而我們是要下載"Nuget.Server"

專案建立完成後,直接執行並出現以下畫面就代表建立成功。

強化安全性

這部分可以看需求決定是否要做,但建議為了安全性考量,反正不差這一點時間,就順便加個密吧。

打開Web config

  1. 設定requireApiKey,將value改為true
  2. 設定apiKey,value的內容可隨意設定,建議可用GUID,設定畫面如下圖所示

這樣一來,只要想推送檔案到私服,都需要給apiKey,否則無法推送,在安全性方面就有所提升了。

 

結論

本篇的內容主要分享如何透過第三方套件"Nuget.Server"架設私服,以及如何進行加密的動作,完整範例在此,下一篇則會介紹如何將企業內的套件發布到私服。