一个轻巧的每日构建解决方案
 
2008-12-05 来源:网络
 

摘要

首先声明一下,本文是个粗疏和简单的Daily Build解决方案,有关Ant、源代码管理(尤其是版本控制)、以及所谓持续集成的高级特性或功能在本文中均不会涉及,牛人请不要在此浪费时间。但本文所述的解决方案对于象我们团队(5个developer)这样一个轻巧的项目组的确非常适用。

1. Daily Build模型

2. 团队规则

以我的陋见,每日构建(Daily Build)其实技术实现是其次,而开发团队以每日构建来削平项目发布压力、提供代码质量的目的才是本质。所有,每日构建有助于优秀团队的建设,反过来,围绕每日构建制定相应的团队规则也有利于每日构建发挥积极的作用。

例如:

每日构建的时间定为每天凌晨0:00;

而团队的代码必须于每天10:30之前Check in;

Bug监狱制度等等。

3. 搭建Daily Build环境

根据以上模型和团队规则,现在搭建Daily Build的环境。在这个模型中,VSS服务器是和Daily Build主机分开的,如果开发团队所掌握的资源有限,将二者合一也完全可以,只是注意作好备份即可。步骤如下:

-配置VSS服务器

-配置Daily Build主机

-建立VSS Shadow Folder

-安装配置Ant

-生成Ant的Build.xml文件

-构建Daily Build任务计划

1) 配置VSS服务器

建立VSS数据库,为开发团队成员创建账号。将项目文档、源代码文件Add入VSS数据库;

2) 配置Daily Build主机

在一台计算机上安装项目Build所需的包、类库、工具、环境等,作为Daily Build的主机。然后再执行以下步骤;

3) 建立VSS Shadow Folder

在Daily Build主机上建立VSS映射文件夹(Shadow Folder)。

VSS映射文件夹可以根据建立时的设置获得当前工程(Project)所有源文件的最新版本。一旦VSS服务器中某个工程的映射文件夹建立后,当团队成员向VSS数据库提交新版本代码或增减源代码文件时,VSS映射文件夹将获得实时的同步。(相当于自动Get Latest Version到这个文件夹)具体方法如下:

  • 进入VSS Administrator;然后点击Tools -> Options进入“SourceSafe Options”对话框;切换到“Shadow Folders”标签页:
  • 从VSS中选择项目以及设置Shadow Folders的在Daily Build主机中的目录位置均可以通过“Browser”按钮选择进行,非常方便。其他设置项目设为缺省即可。更详细的设置可以参考VSS的帮助文档。
  • 点击“确认”后,VSS自动将VSS数据库中该工程的源文件同步到了位于Daily Build主机的映射文件夹中。

注意:

开发团队中的成员必须都具有对Daily Build主机VSS映射文件夹写权限才能保证向VSS提交新版本或增减源文件时,源文件会自动同步到VSS映射文件夹。

4) 安装配置Ant

Ant下载:http://ant.apache.org

Ant安装:解压zip包,并将解压后的目录拷贝到一个特定的目录,我的环境是“C:\Ant”。并确保…\bin和…\lib两目录位于C:\Ant下;

Ant配置:编辑Windows系统变量,我们团队环境是PC/Windows(以我的配置为例)

建立ANT_HOME:“ANT_HOME”:“C:\Ant”;

建立JAVA_HOME:“JAVA_HOME”:“D:\Jbuilder9\jdk1.4”;

在Path中添加:“C:\Ant\bin”

请参考如下连接中的好文:http://www.huihoo.com/java/ant.html

5) 生成Ant的Build.xml文件

其实所有使用Ant进行编译的技巧都应该集中在Build.xml的编写上,很多关于Ant的技巧也就是编写Build.xml的技巧。(慢慢看、慢慢学 :)

但即使你编写Build.xml的技巧为零,你也可以利用IDE来偷懒。我们团队使用的IDE是JBuilder,利用“Export to Ant”可以很轻松的生成一个简单的Build.xml:

在Daily Build主机中安装JBuilder,用JBuilder打开VSS映射文件夹中的工程。在JBuilder中,点击“File -> New”在弹出的“Object Gallery”对话框中选择“Build”标签页,先选择“Export to Ant”,选择Build.xml存放路径(推荐在*.jpx同一目录下)。然后在JBuilder环境中“Rebuild”工程一次,JBuilder即将该次由JBuilder完成的编译的动作、引用包路径等全都输出到该Build.xml中了。很简单!

6) 构建Daily Build任务计划

好了,我们在Daily Build主机中有了Ant环境,有了Build.xml,有了和VSS数据库总是保持同步的映射文件夹,可以构建Daily Build任务计划了。

在Build.xml所在的目录中建立一个批处理文件,如“DailyBuild.bat”,其中只有一条命令:

@Echo off

ant

然后我们可以在Windows的“开始 -> 程序 -> 附件 -> 系统工具 -> 任务计划”中添加一个任务,为它指定运行的程序是“DailyBuild.bat”,运行周期和时间根据项目组自己的情况定吧!

一切OK,到了时间,Daily Build主机会自动的进行每日构建了!

4. 总结

以上是一个小巧简单实现每日构建的方法。在采用VSS + JBuilder + Ant的小团队中完全适用。但欲发挥Ant的优势,不能完全依靠JBuilder输出的Build.xml,项目经理或配置经理应该在此基础上继续编写更强大、功能更丰富的Ant Build.xml,并将单元测试、Bug报告、等结合起来,并配合良好的团队纪律和规范,努力实现团队开发过程的最优化。


火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。
资源网站: UML软件工程组织