在VS2009中集成自动上传nuget包到服务器的解决方案
前言:
我们在项目最初开发的过程中,由于各个组之间负责开发的模块并不是单一的功能项,不管是与后台还是与前端之间的接口对接联调。难免会不停的打包发布自己负责模块的nuget包到服务器,供其他组的开发人员进行接口调用。这就无形中,给我们本身除了开发之外,增添了一些额外的工作量。因此,为了简化我们的工作内容,我们将打包上传nuget包的功能,直接继承到我们自己的vs解决方案中,这样就省去了手工上传的麻烦。
开始:
1、首先,右键点击我们已经写好的nuget项目,然后选择“属性”,进入如下图:
定位到“打包”tab,然后勾选“在构建时生成NuGet包”,其他的版本包信息,根据自己需要填写即可。
2、然后定位到“生成事件”tab,在生成前事件命令行中,填写如下内容:
为了方便复制,代码如下:
del $(ProjectDir)$(OutDir)..\*.nupkg /s/q exit 0
3、点击vs 2019工具栏的 “工具->外部工具”
为了避免敲错单词,代码如下:
命令: $(SolutionDir)\push.cmd 参数: $(ProjectDir)bin\Debug\*.nupkg 初始目录: $(ProjectDir)bin\Debug
4、导入工具命令到菜单(工具->自定义),外部命令后面的集索引,你的命令在外部工具第一个,你就选择“外部命令1”
5、在你自己的解决方案目录下面,增加push.cmd命令脚本
命令脚本内容如下:
dotnet nuget push *.nupkg -s http://192.168.1.171:8081/repository/nuget-hosted/ -k aeae032b-2f0f-38fd-a1d0-e7991d2b8bca
其中,192.168.1.171是你公司的内部nuget服务器。 -k 后面是你nuget服务器上传时的秘钥,怎么拿,在哪里那秘钥呢?
登录你们内部的nuget服务器后台,账户信息->NuGet API Key
为什么没有看到Api Key 呢,奈何这个账号没有足够的权限,所以没法看到已经设置的ApiKey清单。只要使用管理员账号登录,就可以查看生成的ApiKey。我没有权限,帮不了你们了。。大概可能也许长下面这样的吧。这个是借用别人的网站的图片
6、右键生成项目时,将会自动删除nuget包
7、最后一步,右键点击项目,选择我们自定义的“发布nuget”即可
结束语:
第一次写博客,有不对的地方,还请大家多多指教。