软件配置管理(SCM)是软件开发的核心之一,主要是对软件开发过程中不断发生的变化进行管理和控制,配置管理软件可分为三类:版本控制、构建管理和缺陷跟踪系统,这里我们主要讲述CVS、CruiseControl和Jira三种对应的软件。SCM可能经常被忽略,因为大家都觉得的实施不容易,有时适得其反,下面我们将探讨一下如何将这些工作通过IDEA整合到开发人员的日常工作中,轻松实现SCM。
在进行整合前,我们先介绍一下我们提及的软件。CVS,是一个强大且复杂的版本控制系统,在软件开发中启动版本控制作用。CruiseControl是ThoughtWorks公司的一个开源项目,主要用于软件的持续集成,通过CruiseControl,我们可以轻松实现Nightly Build、Hourly Build,并将集成结果信息迅速反馈给管理人员和开发人员。Jira是Atlassian公司的拳头产品,主要用于软件开发过程中的缺陷跟踪,其功能强大,完全Web界面,操作简单。越来越多的公司采用它作为缺陷跟踪管理工具。IDEA,自不用说了,是一款功能强大、智能化的Java开发工具。我们选择这几款产品,完全是因为其功能要求和广大的用户群,而且这款工具可以实现完美整合,下面我们将这几款工具整合起来,进行SCM轻松之旅。
在IDEA中,整合版本控制系统是非常简单的,当前支持CVS,StartTeam,VSS,ClearCase等等,对CVS的支持是非常出色的,而且功能强大,操作也非常简单,对CVS陌生的开发人员也可以轻松使用CVS,不用担心其他过多的事情。在IDEA中你可以完成CVS的各种操作,这些都是图形化的,非常简洁,如果你觉得功能还不能满足你的需求,你可以试用一下TMate插件,功能一定会让你满意。这里我们不再对CVS进行讲述了,关于CVS的设置和权限管理,可以交给你的SCM管理员。
在软件开发中,我们需要持续集成,以前所说的Nightly Build技术可能也不能满足你的需求,你需要Hourly Build,并有实时反馈,关键还有一点,就是让持续集成的配置变得简单、可靠。CruiseControl是一款非常不错的持续集成框架,所有的集成操作可以通过Ant来完成,这样脚本的编写简单啦,功能确增强啦。而其他如Schedule,反馈等其他功能交给CC去管理,这样你可以轻松完成持续集成了。通过Dashboard,你可以将持续集成的结果信息通过IDEA实时反馈给开发人员,这样开发人员也可以实时了解集成的结果,并对错误的信息及时反馈,保证了项目的进度和开发质量。关于如何将CruiseControl和IDEA整合,请参考www.jetmaven.net网站上的网站的文章。
接下来可能就是缺陷跟踪了,缺陷修复的快慢程度直接会影响到项目的进度和客户的满意程度,但是缺陷有往往修复很慢,拖拉严重,究其原因是主要测试人员的信息没有及时反馈到开发人员这里,作为开发人员可以找到理所当然的理由,同时有些缺陷系统操作太负责,开发人员首先打开缺陷跟踪系统工具,寻找到需要自己修复的缺陷,然后在IDE中修改缺陷并测试,最后又的回到缺陷跟踪系统工具,一大堆的操作,完成了一个缺陷的更正工作,太复杂,每天这样的重复工作绝对会让一个开发人员感到疲乏。通过IDEA和Jira,我们可以将缺陷信息及时反馈到开发人员工作的IDE中,和IDE完美整合,开发人员可以很快定位到错误,进行修复,最后完成提交,所有的这些操作,开发人员只需一次点击就完成,解放开发人员的重复单调劳动。Jira不仅仅是一个缺陷跟踪系统,通过Jira,可以整合客户、开发人员、测试人员,各人各司其职,信息很快得到交流和反馈,让大家感到软件开发在顺利快速的进行,朝意想的目标迈进。IDEA下的Jira插件,主要为开发人员服务,实时将信息反馈给开发人员,开发人员同时迅速地将修复的结果信息反馈到跟踪系统中,最后通过持续集成,软件迅速地完成了更新,这些方便便捷的操作会极大地鼓舞软件开发中的各方人员,甚至包括客户,及时响应,相信是每一个客户都会欣赏的。
最后,我们不要忘记实时的沟通,软件是沟通交流的产物。开发人员之间可以通过IDEA下的Chat插件可以迅速沟通,在IRC Server上建立几个频道,方便开发人员、测试人员乃至客户沟通,是非常必要的。通过以上的设置,相信SCM之旅可以说是非常顺利的,原本复杂难以执行的SCM操作,变得简单易行,软件开发中的每一个人(尤其是开发人员)都会愿意接受它,但以上这一切并不是SCM的全部,还有好多事情需要SCM管理员去做,其中涉及到规划、管理、监控和答疑等等方面,但我们确实有了一个好开端,相信SCM管理员也愿意看到这点。
参考资料:
http://www.cvshome.org http://cruisecontro.sourceforge.net http://www. atlassian.com http://www.cmtoday.com 清华大学出版社《CVS和Nightly Build技术》 清华大学出版社《配置管理原理与实践》本文地址:http://com.8s8s.com/it/it14551.htm