10 配置构建计划
现在我们来看看cc-build.xml都做了些什么,它把工程从CVS中check out到我们指定的目录中,并进行构建。然而,我们却没有得到任何反馈,任何可以帮助我们更加有信心继续工作下去的反馈。现在,该是cruisecontrol出马的时候了。下一步,我们将要告诉cruisecontrol什么时候以及它该如何运行我们的构建委托文件。通常,这样的配置将会写在一个名为config.xml的文件中,在该文件中我们可以定制cruisecontrol的运行逻辑。
1) 定义工程
首先看看下面两行配置文件。

<project>元素的属性name定义了工程的名字,通常,配置文件中可以定义多个工程,每个工程都可以有其自己的名字。一般的情况下,在上一次的build没有成功并且CVS资源库中也没有任何改变的时候,cruisecontrol仍然会继续下一次的构建,这种情形一般适用于工程的构建对外部资源存在依赖的情形。但是对绝大多数的工程来说,所有的依赖都是存放在CVS的资源库中,此时这种连续的构建就没有必要了,所以,我们使用buildafterfailed="false"来拒绝这种失败后继续构建的行为,仅在检测到CVS资源库中发生变化时才进行下一次的构建活动。
2) 构建的自启动
接着定义一下在每次构建循环开始前要做的事情,就是在文件中记录本次构建开始的时间。这样的记录不表示开始真实的构建,仅仅表示cruisecontrol被唤醒去检查是否有必要去做构建。

3) 检查资源库的变化

这个配置表明cruisecontrol需要去检查哪些内容已经改变来判断是否需要一次集成。Cruisecontrol会将本地中的副本和CVS资源库中的内容进行比较判断是否做了变更,为了保证集成时所需要内容的完整性,quietperiod="60"用来表示在60秒钟之内,CVS的资源库中没有check in动作,才从资源库中check out出副本来进行构建。如果cruisecontrol在60秒钟内发现有check in动作发生,则继续睡去,等待下一次被唤醒。