1、API.Keys

  使用Nuget.Server时,需要用到API.Keys,在 nuget.org  上创建密钥。详细内容可以参考下边的链接。文章中的dotnet nuget 应该只适用于.net core(没有验证,暂这么记录。)

  https://blog.csdn.net/lindexi_gd/article/details/83176151 

2、docker + jenkins 启动nuget-server服务。

  docker 设置


#创建挂载文件夹
sudo mkdir -p /data/docker/nuget/{database,packages} #获取镜像,也可以在jenkins中启动容器时自动拉取。 docker pull sunside/simple-nuget-server

  jenkins 

#jenkins shell代码

# 第一次启动时要注释掉,后期改下判断,用inspect,当容器不存在时运行会报错
docker stop nuget-server
docker rm nuget-server

docker run --detach=true \
   --publish 5500:80 \
   --env NUGET_API_KEY=你的APIKey \
   --volume /data/docker/nuget/database:/var/www/db \
   --volume /data/docker/nuget/packages:/var/www/packagefiles \
   --name nuget-server \
  sunside/simple-nuget-server
如果以后忘记了NUGET_API_KEY,可以通过以下命令查看:

docker inspect <CONTAINER-NAME> OR <CONTAINER-ID>
然后在结果里找到
Config/Env/NUGET_API_KEY节点。

 

在浏览器中输入:http://你的服务器:5500/,可以查看到页面如下:

 

3、项目右键增加【打包并上传】的自定义菜单,使用bat命令完成对项目打包,生成nupkg包并上传到nuget-server服务。

  3.1 项目增加版本信息

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <Version>1.0.1.1</Version>
    <AssemblyVersion>1.2.0.0</AssemblyVersion>
    <FileVersion>1.3.0.0</FileVersion>
  </PropertyGroup>
</Project>

 

  3.2 bat命令行

  .net core 项目,将下边命令保存到本地bat文件中。第一行是打包,第二行是把打包的文件上传;第三行是把包从temp文件夹拷贝到本地Nuget包(可要可不要)。

dotnet pack %1  -c Release  --include-source -o E:\Develop\TFS\Nuget\Temp
dotnet nuget push -s http://yournugetsiite:8088 -k yourapikey E:\Develop\TFS\Nuget\Temp\%~2.*.nupkg
move E:\Develop\TFS\Nuget\Temp\*.nupkg E:\Develop\TFS\Nuget\

  .net framework项目

     1、下载nuget.exe,本地存储路径:D:\Tools\Nuget\nuget.exe,将D:\Tools\Nuget增加到环境变量PATH

   2、bat文件

nuget pack %1 -Build -Symbols -Prop Configuration=Release -OutputDirectory  E:\Develop\TFS\Nuget\Temp
nuget push  E:\Develop\TFS\Nuget\Temp\%~2.*.nupkg 你的apikey -Source http://你的服务ip:5500 

 

 

  3.3、创建自定义菜单【打包并上传】

    工具-》外部工具-》添加  

    

 

【标题】 可以随意填写,83是我的服务器

【命令】 上边bat文件的路径

【参数】 $(ProjectDir)$(ProjectFileName) $(TargetName)

注意第三个$前有一个空格,建议原封不动的贴过去!!

勾选了【使用输出窗口】是因为可以直接在下面的output窗口输出,可以看到生成的过程

  3.4  将自定义菜单【打包并上传】添加到项目右键

    工具-》自定义-》命令-》上下文菜单-》项目和解决方案上下文菜单|项目-》添加命令-》工具-》右侧外部命令

    

  

  3.5 右键点击【打包并上传】,在输出窗口能看到如下信息

  

 

  3.6 设置nuget包源

   

 

   

  3.7 选择创建的程序包源。

  可以看到已经推送上去的包,第一次加载可能慢点,多刷新几次。实在不行就重启一次。