使用騰訊雲提供的針對Nuget包管理器的緩存加速服務

繼阿里巴巴開源鏡像站(https://opsx.alibaba.com/)、華爲雲鏡像站點(https://mirrors.huaweicloud.com/ )以後,騰訊也已於近日上線了相似的服務,官方名稱爲騰訊雲軟件源(Tencent Open Source Mirror Site),爲國內開發者提供新的軟件鏡像源選擇[https://mp.weixin.qq.com/s/T43MZSDiN04EdgirBif1GQ]。與國內其餘同類服務類似,此開源鏡像站提供了主流的Linux發行版安裝鏡像下載以及軟件源鏡像,還有幾大語言程序包的倉庫服務,好比Node.js的npm倉庫和Python的pip倉庫以及dotnet的nuget 倉庫。Nuget 鏡像地址是(https://mirrors.cloud.tencent.com/nuget/)。html

在Visual Studio 201三、201五、201七、2019 中,使用的是Nuget包管理器對第三方組件進行管理升級的。並且 Nuget 是咱們使用.NET Core的一項基礎設施,.NET的軟件包管理器NuGet.org是一項面向全球用戶搭建的服務,不論用戶身在何處,NuGet.org都應該有能力提供高性能的服務。2017 年微軟針對中國訪問Nuget服務的訪問慢的問題進行了優化,把Blob存儲備份到中國本地,並使用本地CDN服務商來處理軟件包下載請求,具體參考 https://blog.nuget.org/20170907/Changes-to-NuGet-dot-org-service-management-and-performance-improvements-in-China.html。npm

Nuget包的API分爲搜索、註冊和存儲三大類。其中使用最爲頻繁的是註冊和存儲兩類API。 Nuget鏡像包含了緩存的反向代理來加速這些API。 使用這個鏡像能夠在騰訊雲和在應用開發可實現以下加速效果:json

  1. 對於包的搜索無加速效果。搜索組件包是由額外的域名提供的。windows

  2. 安裝、卸載、升級包等徹底加速。全部包信息均按天緩存在服務器上,天天每一個包第一次訪問爲代理訪問,隨後均爲本地訪問api

  3. 包安裝、升級下載文件徹底加速。每一個包的每一個版本第一次下載微代理訪問,以後全部一樣版本、ID的包均爲本地訪問緩存

使用方法:

在Visual Studio中點擊「工具」-「選項」,左側找到「Nuget包管理器」-「程序包源」,確認您的列表中包含有V3版的APIhttps://api.nuget.org/v3/index.json)。 騰訊雲的加速服務僅支持V3版包源,若是沒有這個記錄,那麼您可能沒法使用加速服務,請升級您的Nuget包管理器服務器

5624069de6df7825bc826bdfd347e43

點擊添加按鈕,而後在下方輸入信息:app

輸入後,點擊更新按鈕更新,最後確認並關閉配置。

上面設置後,Nuget的配置文件裏就加入了相關配置,文件位置在:C:\Users\geffzhang\AppData\Roaming\NuGet\Nuget.config ,其中geffzhang 是個人電腦帳號,更換你的帳號,下面是個人Nuget 配置樣例:

image

上述操做咱們都是在windows 10 上的,特別是作.NET Core的開發,不少同窗喜歡用Mac,若是是Mac 與 Linux 中的路徑是,那麼路徑是在 ~/.nuget/NuGet/NuGet.Config。

注:NuGet.Config 在 Windows 中路徑是 %appdata%\NuGet\NuGet.Config ,在 Mac 與 Linux 中的路徑是 ~/.nuget/NuGet/NuGet.Config ,若是沒有 NuGet.Config 文件,能夠運行 dotnet restore 命令生成。

上面的配置是全局的配置, 若是咱們的項目使用的是在騰訊雲上持續集成能夠在項目中引入Nuget.config來完成:

image

當你使用dotnet restore 時也能夠經過 –s 指定使用騰訊雲鏡像,咱們就用這種方法來測試下騰訊雲的鏡像的速度,我用兩個項目作了簡單測試,測試結果代表爲騰訊雲的鏡像的速度仍是要比官方的要快。

相關文章
相關標籤/搜索