最近做项目,每天有如下任务,需求---》任务分解--》开发人员开发--》开发人员提交---》项目编译--》测试--》规范检查--》发布,每天做这样的工作要用去不少时间,而且还有一些问题,比如开发人员修改后没有编译成功就上传了,我得不到及时的反馈,而且每次给客户调教版本,这些流程都需要走一遍,太花费时间了,
我就想有没有工具可以自动完成我的一些任务呢?最近看敏捷,发现里面提到每日集成,正好可以解决我的问题,经过一天的研究,终于在我的机器上搭建成功每日集成的环境,现在就记录一下我在.net环境下是如何搭建每日集成的
1. 流程
开发人员每一次迁入,CruisineControl.Net会自动从源码管理器获得最新源码,然后顺序执行运行我们设定好的一系列任务,下面是我的流程,当然你可以设置你自己的任务,获取源码后,首先进行编译,如果成功,就运行单元测试,单元测试成功就进行代码检查,检查成功后就发布,过程中只要有一步失败则终止。
不管成功和失败开发人员和项目经理都会得到及时通知(Email或者CCTray),同时可以到Dashiboard(自动内建的web站点)上查看集成的详细信息。
2. 实验环境环境
我的实验环境 Winxp sp2, VS2008, CruiseControl.Net, TFS Explore2008,TFS Server2005, Nunit, FxCop
你也可以用VS2005,TFS2005,VSS, Subversion等都是可以支持的,这里我主要描述TFS环境下。
上面大部分工具我想大家都熟悉了,这里要特别提一下CruiseControl.Net,CruiseControl.Net是ThoughtWorks公司持续化集成工具。它能够将代码版本控制,单元测试,代码规范检查,项目的发布部署按任务的方式组织起来进行自动化处理,它还有强大的日志记录功能,能将集成结果及时地反馈给项目管理人员和项目开发人员
可以参考上面的图。