使用Hudson持续构建web服务(代码更新、编译、发布、测试一体化)
?
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完成了对项目自动构建部署,这个过程中还是学到蛮多东西的,希望这篇文章对大家有所帮助。
?
??欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。