日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用 baget 搭建 nuget 私有服务

發布時間:2023/12/4 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用 baget 搭建 nuget 私有服务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

現在幾乎所有語言都提供包管理工具,比如 JavaScript 的 npm ,Java 的 Maven ,Dart 的 pub 。.Net 程序當然是 NuGet 。NuGet 也出現很多年了,奇怪的是居然還有很多人不知道。
現在軟件結構越來越復雜,在多個項目中往往需要共享一些庫、組件等等。NuGet 為我們提供了方便的包管理功能。但是 NuGet 默認提供外網公開的服務,如果我們希望在公司內部或者自己家里進行一些庫的管理,那么就需要自己來搭建 NuGet 私服。
Nuget 私服有幾個工具可以搭建如官方的Nuget.Server 、ProGet 、BaGet 等。這里推薦 BaGet 這個工具,它跨平臺又非常輕量化,易于部署,一行 docker 命令就可以運行起來。這里必選吐槽下 Nuget.Server 做為 NuGet 官方提供的一個工具居然還是依賴 Framework 的。

運行 BaGet 服務

BaGet 有多種部署方式。比如可以從 Github 上拉取 release 后的發布文件手工 dotnet 運行,也可以直接使用 docker 容器化部署。現在是容器化的時代,那么當然首先 docker 部署咯。

#?The?following?config?is?the?API?Key?used?to?publish?packages. #?You?should?change?this?to?a?secret?value?to?secure?your?server. ApiKey=NUGET-SERVER-API-KEYStorage__Type=FileSystem Storage__Path=/var/baget/packages Database__Type=Sqlite Database__ConnectionString=Data?Source=/var/baget/baget.db Search__Type=Database

先創建一個 baget.env 的環境變量配置文件

docker?run?--rm?--name?nuget-server?-p?5555:80?--env-file?baget.env?-v?"$(pwd)/baget-data:/var/baget"?loicsharma/baget:latest

使用 docker run 命令運行

訪問一下這個服務,可以看到服務成功運行起來了。但是現在一個包都沒有,所以顯示的是 nothing here ...

構建 NuGet 包

要推送 NeGet 包,首先我們需要包我們的庫打包成 NuGet 包。

打包可以使用 nuget 的 cli 來打包。其實最簡單的是在我們的項目上右鍵屬性,在打包這個 tab 頁上勾選 “在構建時生成 NuGet 包”,這樣在我們每次生成項目完成的時候會在bin目錄下生成對應的 nuget 包。

推送 NuGet 包

Nuget 包打包完成后,就可以推送自己的包到這個服務了。

?dotnet?nuget?push?-s?http://localhost:5555/v3/index.json?.\AgileConfig.Client.1.1.8.11.nupkg

使用 dotnet nuget push 命令進行推送

推送成功會顯示“已推送包”,期間有個警告,因為我們沒有設置 apikey ,這個忽略。

再次刷新 BaGet 的頁面,就可以看到我們剛才推送上去的包了。

使用 BaGet 源

為了能夠讓我們的 VisualStudio 能夠檢索 BaGet 服務,我們需要進行簡單的配置。

打開 VS > 工具 > 選項 > NuGet 包管理器 > 程序包源,點擊綠色的加號,配置源名稱baget , 地址:http://192.168.0.117:5555/v3/index.json 點擊確定。

隨便打開一個項目解決方案,在 NuGet 包檢索頁面選擇程序包源給 “baget” ,瀏覽頁面就會列出這個源當前具有的包。這樣就可以正常進行管理與安裝了。

總結

通過以上我們簡單的演示了如果通過 docker 命令來運行一個 BaGet 服務。BaGet 跨平臺、輕量化、易于部署,體驗非常不錯,大家可以試試。
https://github.com/loic-sharma/BaGet

關注我的公眾號一起玩轉技術


總結

以上是生活随笔為你收集整理的使用 baget 搭建 nuget 私有服务的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。