轻量NuGet服务—BaGet

在企业内部,有些库是私有的,专项的,要求非公开,另一方面需要公司内部开发人员共享这些库,这时就要搭建一个私用的NuGet仓库了。

BaGet就是一个优秀的,轻量级的包管理服务。它的github地址是https://github.com/loic-sharma/BaGet,当然也可以不用源码,直接在https://github.com/loic-sharma/BaGet/releases,下载它的zip。

BaGet是.net core写的,所以可以在多平台下部署。

下载后解压运行

dotnet BaGet.dll

访问http://localhost:5000

是不是很眼熟,与NuGet还很像

,下面是NuGet页面。


怎么上传一个nupkg包呢?BaGet提供了四种方法,在upload菜单下可以查看


做个nupkg包,来一把,结果如下:

在上传过程中,会有这样一个提示:

warn : 未提供 API 密钥,找不到 'http://localhost:5000/api/v2/package' 的 API 密钥。要保存源的 API 密钥,请使用 "setApiKey" 密钥。

这里是为了上传时加一层保护,不是谁都可以随便上传,可以在appsetting.json中增加一个密钥   "ApiKey": "NUGET-SERVER-API-KEY",只有密钥的人才能上传包,那上传时,的命令变成:

dotnet nuget push -s http://localhost:5000/v3/index.json -k NUGET-SERVER-API-KEY package.1.0.0.nupkg
dotnet nuget push -s http://112.126.59.41:10008/v3/index.json -k 13434334#  ORM.EntityFrameWork.Extension.1.0.2.nupkg

  

删除特定包

 

卸载默认情况下,不会直接删除对应版本的包,只是在Nuget列表中不显示,实际的包文件还存在,同样,删除也分为未配置apikey和配置apikey两类,此处仅仅演示配置 apikey 之后的操作。

未携带apikey

dotnet nuget delete -s http://localhost:5000/v3/index.json NugetTool 1.0.0

输出:

>dotnet nuget delete -s http://localhost:5000/v3/index.json NugetTool 1.0.0
warn : 未提供 API 密钥,找不到 'http://localhost:5000/api/v2/package' 的 API 密钥。要保存源的 API 密钥,请使用 "setApiKey" 密钥。
NugetTool 将从 'http://localhost:5000/api/v2/package' 删除 1.0.0。是否继续? (y/N)
y
warn : 正在从 'http://localhost:5000/api/v2/package' 删除 NugetTool 1.0.0。
  DELETE http://localhost:5000/api/v2/package/NugetTool/1.0.0
  Unauthorized http://localhost:5000/api/v2/package/NugetTool/1.0.0 81 毫秒
error: Response status code does not indicate success: 401 (Unauthorized).

  携带apikey

>dotnet nuget delete -s http://localhost:5000/v3/index.json NugetTool 1.0.0 -k "mima@@"

  输出:

>dotnet nuget delete -s http://localhost:5000/v3/index.json NugetTool 1.0.0 -k "ggcyadmin@@"
NugetTool 将从 'http://localhost:5000/api/v2/package' 删除 1.0.0。是否继续? (y/N)
y
warn : 正在从 'http://localhost:5000/api/v2/package' 删除 NugetTool 1.0.0。
  DELETE http://localhost:5000/api/v2/package/NugetTool/1.0.0
  NoContent http://localhost:5000/api/v2/package/NugetTool/1.0.0 101 毫秒
NugetTool 已成功删除 1.0.0。

  查看服务端,对应已经没有该版本包显示

 

 

posted @ 2022-07-25 15:38  BK小鬼  阅读(889)  评论(0编辑  收藏  举报