前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nuget多项目批量打包上传服务器的简明教程

Nuget多项目批量打包上传服务器的简明教程

作者头像
依乐祝
发布2020-04-02 18:16:12
1.4K0
发布2020-04-02 18:16:12
举报
文章被收录于专栏:依乐祝依乐祝

本篇不会介绍Nuget是什么,如何打包上传Nuget包,怎么搭建私有Nuget服务器。这些问题园子里都有相应的文章分享,这里不做过多阐述。另外本文假设你已经下载了Nuget.exe,并且已经设置好了环境变量。什么?你还不会?那你先去百度下设置好后再来看这篇文章吧。nuget下载

实际项目中,我们可能一个解决方案下面会有N多个项目,每次发布这N多个项目都会使用统一的版本号一起发布到Nuget服务器。搜索了很久没找到一个好的方式,好在参考了abp vnext的打包方法实现了这个需求。因此分享下,希望对有需要的人有所帮助。

作者:依乐祝 原文地址:https://cloud.tencent.com/developer/article/1608810

首先看下图,每个脚本的作用我进行了注释,稍后我们再做进一步的详细阐述。在具体批量发布的时候,只需要先执行下pack.ps1脚本,然后再执行下push_packages.ps1脚本即可。当然还有一些参数需要根据你的项目来进行修改的。不过你不用担心,只需要按照下面步骤进行即可。

第一步,在common.ps1中配置我们的解决方案以及项目路径

我们把$solutions这个变量中的内容替换成我们的解决方案的相对路径。比如:解决方案在E:\abp\abp\framework这个路径,我们的脚本文件在E:\abp\abp\nupkg这个路径,那么我们就可以配置framework这个值就可以了。

第二步,pack.ps1这个脚本基本不需要修改,这里只是进行下代码的解释

  1. 这里首先引入第一步的common.ps1脚本文件(因为需要用到上面定义的变量)
  2. 循环遍历$solutions变量,找到所有的解决方案,并执行dotnet restore
  3. 这里才是打包的核心代码,遍历$projects并执行打包过程,然后把生成的nupkg文件拷贝到脚本所在的目录。

第三步,push_packages.ps1脚本文件打包上传到服务器

  1. 这里首先引入第一步的common.ps1脚本文件(因为需要用到上面定义的变量)
  2. 从根目录下获取common.props文件中获取对应的版本号,并推送对应版本号的nupkg到服务器 注意:common.props文件需要你自行添加,这里面可以定义csproject文件所需要的一些变量
  3. 循环common.ps1脚本中的$projects,并执行推送过程。
  4. 最后修改 下你自己的--api-key(Nuget管理的密钥)以及-s(包源,如果你是自己搭建的私有nuget服务器,则这里需要替换成私有nuget服务器地址)

第四步,执行上传操作

  1. 进入到你的上面三个脚本的目录,Shift+鼠标右键,选择在此处打开powershell打开powershell命令窗口
  2. 依次执行下.\pack.ps1push_packages.ps1脚本即可。
  3. 这里你在执行powershell脚本的时候可能会报如下的错误

这是由于操作系统默认禁止执行脚本,需要以管理员身份执行一次set-executionpolicy remotesigned然后输入y回车即可顺利执行。

Set-ExecutionPolicy 可更改 Windows PowerShell 执行策略的用户首选项。要在 Windows Vista、Windows Server 2008 和 Windows

的更高版本上运行此命令,必须使用"以管理员身份运行"选项启动 Windows PowerShell,

总结

本文参照abp vnext批量打包解决方案下面所有项目文件并上传到nuget服务器的方法实现了一个简单的Nuget多项目批量打包上传服务器的方法,希望对有需要的朋友有所帮助,当然,如果你有更好的方式也可以给我留言。感谢阅读。

下载地址

点这里下载:https://files.cnblogs.com/files/yilezhu/nupkg.zip

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-03-31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第一步,在common.ps1中配置我们的解决方案以及项目路径
  • 第二步,pack.ps1这个脚本基本不需要修改,这里只是进行下代码的解释
  • 第三步,push_packages.ps1脚本文件打包上传到服务器
  • 第四步,执行上传操作
  • 总结
  • 下载地址
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档