CruiseControl.NET 三言两语

本文介绍了在Windows环境下,基于.NET开发项目的持续集成实践。详细讲述了CruiseControl.NET的安装与配置过程,包括如何集成MSBuild、FxCop、NUnit等工具实现自动化的构建、测试及代码分析。

对于稍微大一点的项目,持续集成,每日发布将成为项目组的一项重要工作,在敏捷项目组中尤为突出。为了提高持续集成的自动化程度,产生了很多开源的工具,这里我们主要关注windows下,基于.net开发环境。工具有:

  1. CruiseControl.NET 持续集成工具,运行于服务器上,根据用户的配置,把很多零散的任务进行在一起,实现定时运行、固定时间运行等方式把用户配置起来的流程跑起来,比如从SVN上更新代码、使用MSBuild编译工程或解决方案、使用代码分析工具对代码规范性进行检查、运行测试用例、最后把上面所有步骤的结果使用邮件等方式发布给负责人。
  2. MSBuild 微软.Net Framwork环境中的build工具。
  3. FxCop 微软提供的针对C#等托管语言代码分析工具。不太适合cpp
  4. NUnit, 单元测试工具,从JUnit移植过来,针对很对语言都提供了比较统一的接口,学习曲线比较平坦。针对cpp有CppUnit.
  5. NAnt。.Net下的构建工具,目前只提供命令行模式,他的主要作用是通过配置,实现很多自动化功能。比如在build之前要进行其他清理工作,build之后要进行其他复制等其他工作,都可以固定的在配置文件中配置。他把更多小的任务集成了在一起。

以上这些工具,都可以通过ccnet很好的组合在一起协同工作。下面简单介绍下ccnet的使用

  1. 做好准备,机器上需要安装IIS,相应的.net framwork
  2. 下载CruiseControl.NET,这个是服务器段软件,是必须要安装的。CruiseControl.NET-CCTray是客户端工具。
  3. 安装CruiseControl.NET之后,需要做的主要工作就是配置ccnet.exe目录下的ccnet.config文件,此文件中包含了所有要执行的配置,ccnet就是通过读取这个文件来提供服务。下面提供一个简单的配置

代码

   
< cruisecontrol >
< project name ="MapPrj" >
<!-- 工作目录,下载的源码将会被保存在这个目录下,如没有设置则会自被保存在安装目录下server子目录以project name为名称的目录下 -->
< workingDirectory > e:\ccnet </ workingDirectory >
<!-- 对这个项目的监控过程的日志记录目录 -->
< artifactDirectory > e:\ccnet </ artifactDirectory >
<!-- 使用什么样的方式标识每一个自动生成的版本,可以有多种不同的方式。Labeller Blocks -->
< labeller type ="dateLabeller" />

<!-- 执行周期 -->
< triggers >
<!-- 定时任务,可以设置在哪天的那个时间执行构建计划 -->
<!-- scheduleTrigger time="14:00" buildCondition="ForceBuild" -->
<!-- 以下配置节有指定,则会在指定的时间日期内执行,没有则每天执行 -->
<!-- <weekDays>
<weekDay>Monday</weekDay>
</weekDays>
-->
<!-- /scheduleTrigger -->

<!-- 每隔多少时间执行一次 -->
< intervalTrigger seconds ="60" buildCondition ="ForceBuild" />
</ triggers >

<!-- 使用的源码控制器类型 -->
< sourcecontrol type ="multi" >
< sourceControls >
< svn >
< trunkUrl > http://***/TRUNK/INCLUDE </ trunkUrl >
< workingDirectory > ./inc </ workingDirectory >
< username > 用户名 </ username >
< password > 密码 </ password >
</ svn >
< svn >
< trunkUrl > http://***/TRUNK/VS2005/win32consoletest </ trunkUrl >
< workingDirectory > ./vs </ workingDirectory >
< username > 用户名 </ </username >
< password > nihao </ password >
</ svn >
</ sourceControls >
</ sourcecontrol >


<!-- 每次下载完代码后要执行的任务,可以有
* Build Publisher
* Email Publisher
* Executable Task
* File Merge Task
* ForceBuildPublisher
* Modification Writer Task
* MsBuild Task
* NAnt Task
* Null Task
* NUnit Task
* Visual Studio Task
* Xml Log Publisher
-->

< tasks >
<!-- msbuild 自动编译任务 -->
< msbuild >
<!-- msbuild的路径,一般在系统目录下 -->
< executable > C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe </ executable >
< workingDirectory ></ workingDirectory >
<!-- 解决方案文件,相对project 的workingDirectory,MSBuild会找到这个文件,并对它进行编译 -->
< projectFile > test.sln </ projectFile >
<!-- 编译参数 -->
< buildArgs ></ buildArgs >
<!-- 编译的目录类型 -->
< targets ></ targets >
<!-- 过期时间 -->
< timeout > 60 </ timeout >
</ msbuild >
</ tasks >
</ project >
</ cruisecontrol >

如果编写配置没有错误,直接运行 CruiseControl.NET即可看到监视窗口,当配置中时间满足时,程序将更新代码、编译程序等一套流程。

 

参考 

http://www.cnblogs.com/hjf1223/archive/2006/04/13/374655.html

http://***/zh-CN/Info/catalog/10320.html

转载于:https://www.cnblogs.com/gadfly/archive/2010/12/08/1900292.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值