.Net 持续集成 —— windows service
上一篇讲了 Jenkins+WebDeploy+IIS完成 web项目部署,这篇继续讲windows service的部署。
windows service 一般用于自动任务,定时完成某些操作。本文自动任务使用 quartz.net+topshelf ,有关topshelf可以参考园子里的文章 http://www.cnblogs.com/jys509/p/4614975.html,不是本文重点,就不赘述了。
1. 环境
Platform: .Net4.5
IDE: Visual Studio 2015 & MsBuild
包管理:NuGet
版本控制:TFS-git
服务器: windows 2012 R2
2. 配置
大致配置和web部署是一致的,这里还是直接贴出来:
说明:1. 本段配置 “源码管理” 部分,选择了None,是因为本Job是在主站构建完成之后触发,因此源代码已经拉取完成,不需要继续拉取,如果你要独立构建,可以选择相应的SCM,配置和上一篇的是一致的。
2. build之后使用topshelf的命令,卸载当前正在运行的服务,方便后面拷贝安装
3. “xcopy "C:\repo\Sample \src\Sample .Job\bin\Release\*.*" "C:\web\autojob\" /k /y” 该命令把release文件夹中所有文件拷贝到目标文件夹
4. 最后执行 install 和start 安装和启动windows service