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
脚本即可。当然还有一些参数需要根据你的项目来进行修改的。不过你不用担心,只需要按照下面步骤进行即可。
第一步,在common.ps1
中配置我们的解决方案以及项目路径
我们把$solutions
这个变量中的内容替换成我们的解决方案的相对路径。比如:解决方案在E:\abp\abp\framework
这个路径,我们的脚本文件在E:\abp\abp\nupkg
这个路径,那么我们就可以配置framework
这个值就可以了。
第二步,pack.ps1
这个脚本基本不需要修改,这里只是进行下代码的解释
- 这里首先引入第一步的
common.ps1
脚本文件(因为需要用到上面定义的变量) - 循环遍历
$solutions
变量,找到所有的解决方案,并执行dotnet restore
- 这里才是打包的核心代码,遍历
$projects
并执行打包过程,然后把生成的nupkg
文件拷贝到脚本所在的目录。
第三步,push_packages.ps1
脚本文件打包上传到服务器
这里首先引入第一步的
common.ps1
脚本文件(因为需要用到上面定义的变量)从根目录下获取
common.props
文件中获取对应的版本号,并推送对应版本号的nupkg
到服务器注意:
common.props
文件需要你自行添加,这里面可以定义csproject文件所需要的一些变量循环
common.ps1
脚本中的$projects
,并执行推送过程。最后修改 下你自己的
--api-key
(Nuget管理的密钥)以及-s
(包源,如果你是自己搭建的私有nuget服务器,则这里需要替换成私有nuget服务器地址)
第四步,执行上传操作
进入到你的上面三个脚本的目录,
Shift
+鼠标右键,选择在此处打开powershell
打开powershell命令窗口依次执行下
.\pack.ps1
,push_packages.ps1
脚本即可。这里你在执行
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
Nuget多项目批量打包上传服务器的简明教程的更多相关文章
- [Xcode 实际操作]九、实用进阶-(32)项目的打包上传和提交审核以及下架处理
目录:[Swift]Xcode实际操作 本文将演示如何将一个应用程序进行打包上传,并提交审核以及下架处理. 点击项目[DemoApp]->[Build Settings]编译设置->[Pr ...
- 如何把项目通过git上传之github完整教程
作为一个有追求的程序员,需要撸点自己的开源项目,虽然我现在只是在学着造轮子,但这并不影响我成为大神的心.Github是基于git实现的代码托管,很多程序员在上面托管自己的开源项目,我使用Github也 ...
- java打包上传服务器的一些命令
Maven下package打包成jar包和war包,都在target目录下 其中War包扔在tomcat的webapps目录下.随tomcat启动自行启动 运行jar包命令. nohup java - ...
- XCode7,打包上传的一些警告,及参考处理方法
1.ERROR ITMS-90046 /90085: "Invalid Code Signing Entitlements. Your application bundle's signat ...
- jenkins+svn 打包部署上传服务器并正常运行项目,从安装到使用
以前写过一个版本,jenkins打包部署的全果然,然后...没保存,现在重新写一个版本从按照开始. 项目平时部署情况,svn拉代码,开发打包后进行给测试,测试上传到跳板机,杀掉以前项目进程,上传到服务 ...
- 封装WebAPI客户端,附赠Nuget打包上传VS拓展工具
一.前言 上篇< WebAPI使用多个xml文件生成帮助文档 >有提到为什么会出现基于多个xml文件生成帮助文档的解决方案,因为定义的模型可能的用处有: 1:单元测试 2:其他项目引用(可 ...
- 【NuGet】打包上传一条龙服务
昨天写了搭建自己的NuGet程序源,但是领导不满意之前的打包上传~~,无奈只能去爬点思路了,这里参考的其他博文,但是还是想写下来. 第一步.建立一个批处理文件 在文件里,有三条命令: nuget pa ...
- 在pom.xml中使用distributionManagement将项目打包上传到nexus私服
本文介绍 如何在pom.xml中使用distributionManagement将项目打包上传到nexus私服 1.pom.xml文件添加distributionManagement节点 <!- ...
- 基于.NetCore开发博客项目 StarBlog - (18) 实现本地Typora文章打包上传
前言 九月太忙,只更新了三篇文章,本来这个功能是从九月初就开始做的,结果一直拖到现在国庆假期才有时间完善并且写文章~ 之前我更新了几篇关于 Python 的文章,有朋友留言问是不是不更新 .Net 了 ...
随机推荐
- Android APP性能及专项测试(个人整理)
移动测试. Android测试 .APP测试 Android篇 1. 性能测试 Android性能测试分为两类:1.一类为rom版本(系统)的性能测试2.一类为应用app的性能测试 Android ...
- Oops 的栈信息分析
MTK MT55 F3600 平台 现象:播放MP4文件不断快退或者快进系统重启. 关键log: Kernel panic - not syncing: x_msg_q_receive(): not ...
- 两篇很好的EPG相关文章
两篇很好的EPG相关文章 原文地址:http://blog.sina.com.cn/s/blog_53220cef0100pi8j.html 1 基于DVB-SI的数字有线电视机顶盒节目指南的设计实现 ...
- JavaScript 预解析机制
首先我们来看一段代码: <script> console.log(a); var a = 10; </script> 此时运行结果为 为什么会显示undefined呢?这就 ...
- 设计模式-09装饰模式(Decorator Pattern)
1.模式动机 一般有两种方式可以实现给一个类或对象增加行为: 继承机制:使用继承机制是给现有类添加功能的一种有效途径,通过继承一个现有类可以使得子类在拥有自身方法的同时还拥有父类的方法.但是这种方法是 ...
- HTTP&ServletContext&Response对象_文件上传
今日内容 1. HTTP协议:响应消息 2. Response对象 3. ServletContext对象 HTTP协议 1. 请求消息:客户端发送给服务器端的数据 * 数据格式: 1. 请求行 2. ...
- iOS中的分类和扩展
一.什么是分类? 概念:分类(Category)是OC中的特有语法,它是表示一个指向分类的结构体指针.根据下面源码组成可以看到它没有属性列表,原则上是不能添加成员变量(其实可以借助运行时功能,进行关联 ...
- 【DirectX 11学习笔记】世界矩阵的理解-运动合成
最近在看龙书,写一下自己的学习理解,主要是物体运动的合成. 物体于局部坐标系内构建,每个物体拥有自己的局部坐标系以及相应的顶点矩阵A,并通过世界矩阵变换到唯一的世界坐标系. 物体在某时刻发生了位移和旋 ...
- 第八次——非确定的自动机NFA确定化为DFA
NFA 确定化为 DFA 子集法: f(q,a)={q1,q2,…,qn},状态集的子集 将{q1,q2,…,qn}看做一个状态A,去记录NFA读入输入符号之后可能达到的所有状态的集合. 步骤: 1. ...
- ajax的post提交 序列化json参数
再一次项目中,很常见的就是我的前端需要异步进行和后端交互 ,然而需要携带一些参数过去,并且参数类型是json 怎么办呢? 这个时候我们就需要 进行参数序列化 很简单就两句话 如下图 我们看 JSON, ...