.NET Core:搭建私有Nuget服务器以及打包发布Nuget包

一.借助Docker搭建私有Nuget服务器
使用nuget包的优势不言而喻,举个常见的例子,A团队和B团队都用到同一个类库,这个时候A团队和B团队不需要这个类库的代码,只需要用Nuget包还原,就能完成引用。与此同时,如果这个类库升级了,只要引用的Nuget包还是一样的版本,就不会出现引用升级而造成的编译错误。
而出于工作环境或其他原因,Nuget包可能不能发布到公有的Nuget服务器,这个时候可以考虑Docker一键搭建一个内网可以访问的Nuget服务器。
这里我们假设你已经有一台运行Docker的服务器,输入如下命令:

docker run -d  -p 8080:80 -v $PWD/nuget/db:/var/www/db -v $PWD/nuget/packages:/var/www/packagefiles  -e NUGET_API_KEY=ee28314c-f7fe-2550-bd77-e09eda3d0119  sunside/simple-nuget-server

-v 用当前目录的nuget文件夹挂载Nuget服务器的数据
-e NUGET_API_KEY=ee28314c-f7fe-2550-bd77-e09eda3d0119 设置Nuget服务器的管理Key

访问Nuget服务器

二. 打包发布Nuget包

dotnet pack [--help] [--output] [--no-build] [--build-base-path] [--configuration] [--version-suffix] [project]

需要注意的是如果已经存在的Nuget包,再发布是会提示错误的,如果不是正式版本的升级,则需要其他标识区分,如beta1,则执行的命令为dotnet pack --version-suffix beta1


.NET Core:搭建私有Nuget服务器以及打包发布Nuget包_第1张图片
dotnet pack

默认的输出文件夹在bin目录下的Debug目录,可以看到生成了对应版本号的相关文件。


.NET Core:搭建私有Nuget服务器以及打包发布Nuget包_第2张图片
打包好的nuget包

接下来借助Nuget.exe执行如下命令:
Nuget.exe push -Source {NuGet package source URL} -ApiKey key {your_package}.nupkg
发布Nuget包

三.引用私有Nuget服务器的Nuget包
对于VS,可以直接配置Nuget来直接还原私有服务器上的Nuget包


.NET Core:搭建私有Nuget服务器以及打包发布Nuget包_第3张图片
配置Nuget

.NET Core:搭建私有Nuget服务器以及打包发布Nuget包_第4张图片
列出Nuget包

然而对于VSCode或者其他编辑器来讲,如果没配置过Nuget,则需要在项目中引入Nuget.config来完成



  
    
    
  
  
    
  
  
    
    
  
  
    
  


本文采用 知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议
转载请注明:作者 张蘅水

你可能感兴趣的:(.NET Core:搭建私有Nuget服务器以及打包发布Nuget包)