环境准备:

1.ide   visual studio2017 Enterprise,Ide可以https://visualstudio.microsoft.com/zh-hans/downloads/下载

注意

A.如果使用了不通版本的vs,请在后续的构建脚本中作出相应更改

B.在安装时,请确保选择了.NET桌面开发

2.jenkins,请从https://jenkins.io/download/ 进行下载

3.winrar 安装在C:\Program Files\WinRAR

4.其他应该了解的

A.请在jenkins安装在windows主机上,linux上是不能构建的.因为经典的.net framework不能运行在linux上

B.本示例是将工程的输出目录放在了解决方案src目录下,分别取名为Debug和Release

jenkins的必要配置

1.git的安装,百度下一步就ok

2.Publish Over FTP,用于将生成的安装包和更新包放置到ftp服务器

3.为什么不用msbuild插件编译,因为msbuild无法编译vdproj

另外你如果用.netframework4 下的msbuild编译,你可能会收到nameof无法解析之内的错误...

创建jenkins工程

1.新建任务,输入工程名称,选择 构建一个自由风格的软件项目  模板来添加一个构建任务

2.git 配置,这个按照代码仓库的地址和认证模式配置即可.如果没有安装git,这里会提示找不到git.exe

3.为了避免出现各种操蛋的问题,建议在每次构建前清空工作空间

4.添加一个执行windows批处理条目,用于执行nuget还原

请确保在你的解决方案根目录有nuget.exe(可从网上下载,然后放到对应位置即可)

如果你的项目中有自定义的nuget包,请添加一个nuget.config,并配置号对应的源

最终的项目目录应该是类似这样的:

nuget.config的配置:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
<add key="www.007008.fun" value="http://www.007008.fun:7789/nuget/Default/" />
</packageSources>
</configuration>

最后输入下面的批处理命令,你的项目就可以在编译时还原nuget包了

nuget.exe locals global-packages -clear
nuget.exe restore

5.以下是整个构建脚本

这里使用rar压缩了输出路径下的目录下的文件作为更新包

使用Advanced Installer 命令行进行了安装包的自动构建

echo "正在还原程序包..."
nuget.exe locals global-packages -clear
nuget.exe restore echo "正在设置环境变量..."
set devnev=C:\Program Files (x86)\Microsoft Visual Studio\\Preview\Common7\IDE\devenv.com
set advinst=C:\Program Files (x86)\Caphyon\Advanced Installer 14.9\bin\x86\advinst.exe
set SolutionName=lamic-pc-v4.sln
set ConfigurationPlatform=Release^|x86
set Configuration=Release
set rar=%ProgramW6432%\WinRAR\winrar.exe
set OutputPath=%WORKSPACE%\src\%Configuration%\
set UpdatePackagePath=%WORKSPACE%\update_packages\update.zip
set Setup=%WORKSPACE%\src\Setup\Setup.aip echo "开始使用devenv.com编译程序..."
"%devnev%" "C:\Program Files (x86)\Jenkins\workspace\%JOB_NAME%\%SolutionName%" /ReBuild "%ConfigurationPlatform%" echo "正在写入BUILD_NUMBER..." echo %BUILD_NUMBER%>>"%WORKSPACE%\src\%Configuration%\version" echo "开始删除无用的目录和文件..."
del "%WORKSPACE%\src\%Configuration%\*.pdb" echo "开始创建更新包..."
"%rar%" a -ep1 -r "%UpdatePackagePath%" "%OutputPath%" echo "开始构建安装包"
"%advinst%" /rebuild "%Setup%"

7.添加一个构建后的操作,用于将更新包和安装包传输到FTP上

最新文章

  1. System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本问题
  2. 快速排序 &amp;&amp; 希尔排序 &amp;&amp; 插入排序
  3. Sigleton 单例模式 的简单应用
  4. 了解oracle数据库的情况
  5. LinQ—Lambda表达式
  6. AOP 切面编程
  7. 《编程简介(Java) &amp;#183;10.3递归思想》
  8. 使用Clean() 去掉由函数自动生成的字符串中的双引号
  9. java打包jar,war,ear包的作用、区别
  10. 201521123017 《Java程序设计》第5周学习总结
  11. CentOS 7 搭建基于携程Apollo(阿波罗)配置中心单机模式
  12. .NET Core2.0+MVC 用session,cookie实现的sso单点登录
  13. Windows10 ubuntu子系统的启用即基础配置
  14. unix域数据报回射程序(不完整)
  15. CodeForces 91B Queue
  16. 数据结构C语言版--动态顺序表的基本功能实现(二)
  17. jquery事件 on(),live(),delegate(),blind()
  18. SharePoint BDC(Business Data Connectivity)服务-PowerShell
  19. .NET-WEB网站部署的过程中需要注意的问题
  20. windows下搭建nginx-rtmp服务器

热门文章

  1. Build fat static library (device + simulator) using Xcode and SDK 4+
  2. Hadoop深入学习:MapTask详解
  3. c#后台弹出框
  4. angular 第二种依赖注入
  5. YARN 的调度选项
  6. 【ARC075F】Mirrored 搜索/数位dp
  7. loj#2978. 「THUSCH 2017」杜老师(乱搞)
  8. redis源码分析(3)sds
  9. VS2013安装及破解教程
  10. $(xx).load()同步