敏捷实践--持续集成工具CC.net配置
敏捷中的一个很有用的实践就是持续集成,前面一篇文章介绍了持续集成,参见敏捷软件开发之持续集成 。这里说说持续集成工具CruiseControl.net,简称cc.net.
我希望在我们的持续集成中能自动完成5件事情:
1,从VSTS 获取工程代码
2,编译工程代码
3,执行单元测试,并进行测试覆盖率分析
4,发布编译后文件
5,查看执行报告
这些 cc.net都能很好帮我实现。
关于CC.net的使用,可以参见:如何用CruiseControl.Net来进行持续化集成
我们当前开发的是一个WIN CE的项目,是基于.net精简版开发的,我们试了,用NUnit没法测。本来大家平时的单元测试都使用Nunit,习惯了,突然遇到这个问题,太麻烦了。不过还好我们这个系统是基于CF 2.0,所以打算用 VS2005开发。微软在VS2005中已经集成了单元测试的工具MSTest,但是大家平时基本不去用这玩意。现在Nunit不能用来测CF的dll,只有寄希望看MSTest能否达到我们的要求了。简单试了一下,不错,可以!那本项目就采用IDE集成的MSTest作为单元测试工具。虽然他和CC.net的集成会麻烦一些,但最后还是给集成上去了。
编译我们采用MSBuilder,NCover经过调整也能凑合用。当然,这一切配置好了,我们也可以通过客户端工具CCTray查看整个过程的执行报告。
我们设置了一台Server用于做持续集成,最终发布的文件会放到这台Server上,如果测试人员或发布人员想获取文件,可以使用我们自己开发的一个小工具,直接将其复制到本机上即可。
这种方式已经使用了一段时间了,还不错。