使用Hudson持续构建web服务(代码更新、编译、发布、测试一体化)

   好久没维护博客了,今天上海的风好大,周末还奋战在前沿的同志们注意安全,废话不多说切入正题。
   前段时间负责做项目(服务端)自动化发布,也即check out project->compile->publish->test流程的一体化(想必搞服务段开发的同学们都经常要爬服务器做发布吧,看了这篇文章也许对你能有所帮助)。
   首先介绍下我使用的工具,hudson(持续集成引擎,对这个感兴趣的可以去研究下),msbuild(.net项目编译),svn client(代码的checkout)。
   由于包含server端发布以及client端Junit测试其实是两组项目,可以借助Hudson构件上下游项目,以webservice作为上游项目,完成发布后,执行下游test项目。

一.构件webservice:
1.创建自由风格项目:

完成创建后指定本项目的下游项目为Junit的测试项目


 
2.svn代码checkout:需使用到hudson中提供的svn插件(这个在系统/插件管理中可以找到)

Repository URL:填入从项目代码托管地址,正确后会需要svn登入的用户信息,填入即可。checkout 策略可以选择差量的更新,我使用的是删除后重新获取全量代码。

 3.编译前准备:

为了避免构件完成无法确定构建版本,所以我将svn文件版本作为了webservice服务dll文件版本。使用svn client的subWcRec.exe工具获取svn服务器上项目的相关信息,使用如下指令:

subwcrec.exe   模板文件路径  目标文件路径

subwcrec其实做的仅仅是将源文件中使用$WcRev$标识的属性(可以参看subwcrec指令介绍)svn文件版本进行了替换再输出覆盖目标文件。对于.net项目,可以创建template的Assembly文件,通过该指令获取到文件版本号后再覆盖参与编译的Assembly.cs文件(注意模板assembly文件不要参与编译,这仅仅是一个文本)。



 

4.编译:

我使用的是vs自带的msbuild进行的编译(Msbuild根据项目sln活csproj,执行编译类似于ant),使用msbuild前需要在hudson中安装msbuild插件。

通过configuration可以指定debug编译或是release编译


 

  5.发布:

f发布就比较简单了,将编译后的dll文件拷贝到website的bin目录下,iisreset即可。



 

二.Junit Test项目构建:

1.创建下游项目

2.svn代码check out

3.ant脚本执行



 

借助了Hudson完成了对项目自动构建部署,这个过程中还是学到蛮多东西的,希望这篇文章对大家有所帮助。

 

  欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值