4 集成环境
为了将源码等中间工件编译、链接生成的一个建造(build),必须使用相应的编译工具;而实现构建的自动化,则需要类似make等构建工具的支持;实施持续集成还依赖CruiseControl这类专门工具;另外由于集成通常在团队协同的环境下开展,软件配置管理工具将在此间充当重要角色。
推荐的安装顺序是:克隆主机—〉安装配置管理工具客户端—〉建立用户视图—〉准备用户私有构建场所—〉配置编译环境—〉配置构建环境—〉执行初次构建
4.1 集成网络部署
4.2 编译环境
1.2.1 msvc6
本项目的首要IDE用的是MS Visual Studio 98,编译器相应的用msvc6。
项目中使用了msvc6的基础库和mfc库的全集(包括unicode部件,在安装时注意要使用定制方式来选择)。
为了正常使用msvc6,注意正确设置相应的Path等环境变量,虽然安装程序能自动设置它们,但通过克隆的机器可能丢失。
环境变量示例:
Path=C:\WINNT\system32;C:\WINNT;C:\Development_Tools\Building-Utils\apache-ant-1.6.0\bin;C:\Development_Tools\Microsoft Visual Studio\Common\Tools\WinNT;C:\Development_Tools\Microsoft Visual Studio\Common\MSDev98\Bin;C:\Development_Tools\Microsoft Visual Studio\Common\Tools;C:\Development_Tools\Microsoft Visual Studio\VC98\bin; C:\Development_Tools\Microsoft Visual Studio\Common\MSDev98\bin
另外可以直接运行下列批命令来自动设置(仅对克隆的机器有效):
D:\Development_Home\Tools.Configs\path.bat
1.2.2 bcc55
为了支持第三方使用Borland IDE,需要配置Bcc55编译器。
4.3 构建工具
常见的构建工具,C/C++有Make,Bjam,cpptasks for Ant;Java有Ant,C#有NAnt。考虑到Ant具备使用方便、功能全面、XML格式可读性强、容易掌握等优点,本项目选用Ant作为首要的构建工具。
典型构建工具环境的配置为:
jsdk1.4.x——Java运行环境
apache-ant-1.6.0——Ant工具
安装路径示例:
C:\Development_Tools\Building-Utils\apache-ant-1.6.0
cpptasks1.0beta——支持Ant进行 C/C++构建的扩展
安装路径示例:
C:\Development_Tools\Building-Utils\apache-ant-1.6.0\lib\ cpptasks.jar
ant-contrib-0.6——支持Ant使用控制逻辑的扩展
安装路径示例:
C:\Development_Tools\Building-Utils\apache-ant-1.6.0\lib\ ant-contrib-0.6.jar
envset——项目组自行开发的一个WinNT环境变量设置小程序
安装路径示例:
C:\Development_Tools\Building-Utils\apache-ant-1.6.0\bin\ envset.exe
注意:
为了支持cpptasks ,ant-contrib的使用,必须在Ant构建脚本中加入以下声明:
<!-- task and type extension -->
<taskdef resource="cpptasks.tasks"/>
<typedef resource="cpptasks.types"/>
<taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
4.4 持续集成工具
主流的持续集成工具有CruiseControl,提供了Java与dot.net两个版本。我们通过对Java版本进行相应配置,实现了C/C++项目的持续集成。
在集成服务器上的安装路径示例:
C:\Development_Tools\Building-Utils\cruisecontrol-2.1.5
为了支持C/C++项目,需要加入cpptasks、ant-contrib,可以通过修改CruiseControl.bat文件来实现,示例如下:
set EXTLIBDIR=%ANT_HOME%\lib
%EXTLIBDIR%\ant-contrib-0.6.jar;%EXTLIBDIR%\cpptasks.jar;
1.5 软件配置管理客户端
本项目选用ClearCase作为软件配置管理的工具。开发工作站、测试工作站和集成服务器都将安装ClearCase客户端,其安装配置参见其它ClearCase相关文档。
视图路径示例:
D:\Shared_Views\PCHL_V1_Dev
1.6 用户私有构建场所
各构建主机上需要创建类似D:\Development_Home\的目录,作为工作用户私有的开发场所,开发人员可以将\PCHL_Supports\Environments\Development\ Development_Home.zip(可以从ClearCase的PCHL_Working流下找到)解压直接生成此目录集,其中D:\Development_Home\Building.Workspace子目录将用于自动构建。Development_Home.zip包内还包含CruiseControl持续集成的相关配置文件。
1.7 主机克隆
为了提高工作效率,项目组的开发工作站可以通过克隆的方式进行快速安装。环境工程师针对项目组日常开发、管理、协同等工作需要,制作了完整的系统盘(C主分区)映像,包括开发工具、CASE工具、其它常用工具等,上述构建用工具软件均包含在内。
映像有Windows2000Professional与Windows2000Server两个版本,源路径示例:
\\back1-svr\ghost_imgs\w2ksrv_x\w2ksrv.GHO
使用者可以用支持网络连接的引导CD启动系统,执行ghost,然后进行克隆。