3.1 Build Forge 的构建配置
在 Build Forge 中配置一个自动化的构建,一般需要以下几个对象:服务器对象,环境变量对象和工程/库对象。服务器对象是安装了代理(Build Forge Agent)的逻辑机器,构建是在服务器对象上完成的;环境变量包括工程环境变量和服务器环境变量,工程运行的时候,会结合这两种环境变量;工程/库对象是由一系列的步骤组成,每一步的成功和失败都可以给指定组成员发送邮件通知,因此合适粒度的步骤定义将有利于分析构建过程中出现的问题以及通知相关人员修复问题。项目 R 在 Build Forge 中的构建工程对象如图 6 所示。工程 R_LocalBuild 引用的环境变量是工程环境变量 LocalBuildEnv,服务器是 Rdbx。
图 6. 项目 R 的构建对象示意图

3.2 项目 R 在 Build Forge 上的构建步骤
项目 R 的本地构建和集成构建除了获取代码的方式不同,其它的步骤都是一样的。本地构建通过更新视图(UpdateView)获取最新代码,集成构建通过 Rebase 获得最新基线的代码,本章以本地构建为例详细介绍项目 R 在 Build Forge 中的构建步骤。
如 2.3 节所介绍,项目 R 的持续构建主要由以下几个部分组成:构建环境恢复,检出代码,自动构建,自动测试环境恢复,自动部署和测试以及构建状态通知。
一、构建环境恢复:主要是为构建做一些准备工作,确保构建的顺利进行,一般包括环境检查,磁盘空间的清理等。项目 R 在 Build Forge 上的准备步骤包括设置标签,删除旧的安装文件以及重新启动 CC 客户端服务。
1.Prepare_BuildTag
.retag $BuildLevel
步骤一是准备构建的标签以及给相应的组发送构建开始的邮件通知。由于每天的构建是自动启动的,人为输入是不现实的。但是 Build Forge 的默认标签是阿拉伯数字,不便于标识。因此在每次构建之前都需要重新打一下标签。使用的命名规则是“项目名称+当前日期”,这个可以在 Build Forge 的 Environment 中进行定义。
2.Prepare_delete_Old_Driver
cd /d cd $BuildScriptHome perl deleteOldDrivers.pl
步骤二是删除以前构建出来的安装文件。由于系统空间有限,不可能保存所有的安装文件,只能保存最新的一些文件。因此,在每此构建之前都要判断所存的安装文件数目是否已经超过预定义的数目,如果超过,即删除较早的安装文件。
3.Prepare_restart_ClearCaseServices
cd /d cd $BuildScriptHome CC_Services.bat
步骤三是重新启动 ClearCase 客户端服务。由于各种原因,CC 客户端服务有的时候会停止。为了防止在构建过程中出现错误,因此重新启动该服务确保 CC 客户端服务处于运行状态的。