創(chuàng)建自己私有的Nuget服務(wù)器

引言
一直是用TeamCity來做團隊的Nuget私有服務(wù)器,效果也不錯。最近工作很忙,需要在家干活。不幸的是我們的TeamCity在內(nèi)網(wǎng),在家無法訪問。當(dāng)然,我們可以把TeamCity放到公網(wǎng),但是考慮到TeamCity帶有太多機密信息,萬一被黑太危險。所以決定做一個獨立的Nuget服務(wù)放在公網(wǎng)上,TeamCity自動發(fā)布私有包到這個公網(wǎng)服務(wù)器上。
Nuget本質(zhì)上是一個文件服務(wù),做一個非常簡單。 這里把我搭建Nuget服務(wù)的步驟Step By Step描述下來,給有需要的人參考。希望能有所幫助。

搭建Nuget網(wǎng)站
Nuget可以通過共享目錄等來管理私有包,但是很不方便,一般還是做一個網(wǎng)站來管理。 步驟如下:

創(chuàng)建一個Asp.Net Web應(yīng)用程序:


4.6.1的Asp.Net 應(yīng)用程序

選擇空模版


空模版

安裝Nuget.Server 包,這個包會自動配置好Nuget服務(wù)所需要的東西。


添加Nuget.Server的引用

可以在程序包管理器控制臺運行來安裝這個包:Install-Package NuGet.Server

安裝好Nuget.Server后,他會自動配置Web.config文件。但是里面有些內(nèi)容需要修改。如下圖紅線部分:


image.png

注意:c:\storageForNugetPackage 需要手工創(chuàng)建好。

Ok!, 私有Nuget服務(wù)器就搭建好了。 簡單嗎 :==)

驗證Nuget服務(wù)器
好了,現(xiàn)在需要來驗證一下這個服務(wù)是否工作正常了, 我寫了一個示例程序,包括服務(wù)器和測試用包??梢詮?a target="_blank" rel="nofollow">示例代碼獲取完整源代碼。(有用的話,給打個星唄)。獲取源代碼后,按照ReadMe.txt的步驟即可驗證Nuget私有服務(wù)器。

創(chuàng)建一個私有的Nuget包的步驟:


如何發(fā)布包到私有nuge服務(wù)器上

圖有點下,我把文字復(fù)制在下面

  1. 啟動運行Nuget.Private網(wǎng)站
  2. 在PackageSample工程目錄下,運行Nuget pack PackageSample.nuspec 生成PackageSample.0.0.2.nupkg包
  3. 在PackageSample工程目錄下,運行Nuget push PackageSample.0.0.2.nupkg Please.Change.To.Your.Nuget.Private.Key -Source http://localhost:55545/nuget
  4. 在c:\StorageForNugetPackage目錄可以看到PackageSample已經(jīng)上傳了。也就是你可以引用自己的Nuget服務(wù)器來維護私有包了

好經(jīng)過上面的步驟,我們的PackageSample.0.0.2已經(jīng)發(fā)布好了,現(xiàn)在是開始要用了:
首先我們需要在Visual Studio中添加我們自己的Nuget地址,通過 工具=>選項 打開選項框,找到Nuget包管理器,增加一個新的程序包源如下圖: (注意,http://localhost:55545/nuget 是我示例代碼上網(wǎng)站的地址,如果你自己創(chuàng)建的網(wǎng)站,端口可能不同。)

添加Nuget地址

見證奇跡的時刻到了,現(xiàn)在可以在nuget中找到剛才上傳的包了

私用包可以在VisualStudio中安裝了

注意:需要在程序包源中選擇Nuget.Priavte(上一步添加的程序包源),在瀏覽中就可以看到自己的包了。

申請域名和SSL
好了,萬事俱備,只待發(fā)布到公網(wǎng)上了。
但是只是一個團隊內(nèi)部用的服務(wù)器,我也要去申請ICP備案,是不是有點無聊???
這里有一個辦法,在國外申請一個域名,然后用SSL,那么就可以繞過備案需要,阿里或者騰訊不會墻掉你的網(wǎng)站了。關(guān)于申請SSL,建議閱讀 我寫的Let's Encrypt 一個好用的免費SSL

參考內(nèi)容:
https://docs.microsoft.com/en-us/nuget/hosting-packages/nuget-server

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前面兩篇文章中關(guān)于 HTTP 相關(guān)知識基本上介紹的差不多了,這篇文章是對 HTTP 協(xié)議的補充,主要介紹以下三點內(nèi)...
    lijiankun24閱讀 1,395評論 2 3
  • 瀏覽器地址欄標(biāo)志著 HTTPS 的綠色小鎖頭從心理層面上可以給用戶專業(yè)安全的心理暗示,本文簡單總結(jié)一下如何在 Ng...
    QieZi閱讀 38,523評論 0 10
  • 持續(xù)集成:TeamCity 的安裝和使用 Source TeamCity 本文初衷 讓大家了解持續(xù)集成(CI),以...
    alterem閱讀 19,460評論 1 38
  • TeamCity 本文初衷 讓大家了解持續(xù)集成(CI),以及入門了解 JetBrains 家的 TeamCity ...
    UPUPMO閱讀 72,180評論 10 79
  • 家有小寶1歲8個多月,我和寶媽還有珂寶異地,我在北京,她們在河南淮陽。聚少離多,珂寶這么大,每次見面都是很短暫,休...
    黑水大鵬閱讀 513評論 0 1

友情鏈接更多精彩內(nèi)容