zoukankan      html  css  js  c++  java
  • Nuget多项目批量打包上传服务器的简明教程

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

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

    作者:依乐祝
    原文地址:https://www.cnblogs.com/yilezhu/p/12591174.html

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

    image-20200329100147560

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

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

    image-20200329101445573

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

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

    image-20200329102000346

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

    1. 这里首先引入第一步的common.ps1脚本文件(因为需要用到上面定义的变量)

    2. 从根目录下获取common.props文件中获取对应的版本号,并推送对应版本号的nupkg到服务器

      注意:common.props文件需要你自行添加,这里面可以定义csproject文件所需要的一些变量

    3. 循环common.ps1脚本中的$projects,并执行推送过程。

    4. 最后修改 下你自己的--api-key(Nuget管理的密钥)以及-s(包源,如果你是自己搭建的私有nuget服务器,则这里需要替换成私有nuget服务器地址)

    image-20200329102832869

    第四步,执行上传操作

    1. 进入到你的上面三个脚本的目录,Shift+鼠标右键,选择在此处打开powershell打开powershell命令窗口

    2. 依次执行下.pack.ps1push_packages.ps1脚本即可。

    3. 这里你在执行powershell脚本的时候可能会报如下的错误

      image-20200329103723580

      这是由于操作系统默认禁止执行脚本,需要以管理员身份执行一次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

  • 相关阅读:
    WCF 第十三章 可编程站点 为站点创建操作
    WCF 第十三章 可编程站点 所有都与URI相关
    WCF 第十二章 对等网 使用自定义绑定实现消息定向
    WCF 第十三章 可编程站点 使用WebOperationContext
    Using App.Config for user defined runtime parameters
    WCF 第十三章 可编程站点
    WCF 第十三章 可编程站点 使用AJAX和JSON进行网页编程
    WCF 第十二章 总结
    WCF 第十三章 可编程站点 使用WebGet和WebInvoke
    WCF 第十三章 可编程站点 URI和UriTemplates
  • 原文地址:https://www.cnblogs.com/yilezhu/p/12591174.html
Copyright © 2011-2022 走看看