第 16 章 使用Luntbuild远程调用接口

Luntbuild提供了一整套远程调用接口,这套API提供了以下功能:

  1. 触发任何构建计划

  2. 配置系统属性以及项目属性

  3. 搜索构建任务,获得其构建的信息,例如其构建制品的url等等

通过利用Hessian的web service 协议,这些API用起来很容易。 不过有两个jar文件需要加入classpath,这是最基本的,这两个文件是 hessian-3.0.8.jarluntbuild-api.jar. 这两个文件位于"remoting"目录下。该目录下还有一些描述这些API用法的例子。 例如,TriggerBuild这个例子可以用于实现实时的持续集成,也就是说,无论哪个时候,只要对代码库进行了检入(checkin)的操作, Luntbuild就可以 立即触发构建任务。 下面我们以一个cvs代码库的例子来演示一下:

  1. 在项目里面创建一个手工触发的构建计划,用来实现实时的持续集成。 为了让构建更加迅速,我们将构建配置为增量式构建。

  2. 检出cvs代码库下CVSROOT目录下的"loginfo"文件,并在该文件内容后添加:

    	testcvs cmd /c d:/lunt/cvs/lunt/luntbuild/remoting/samples/trigger_build.bat
    	

    注意

    在编辑前,您应该用cvs客户端检出该文件,就象您要编辑代码库中其他文件的方式一样

    testcvs可以用cvs代码库下的任意目录名代替, 所有在该目录下checkin的操作都会触发trigger_build.bat命令。 trigger_build.bat位于"remoting/samples"目录下。 当然,您也可以复制相关的文件到任何机器上(远程API的jar文件,TriggerBuild.class文件,trigger_build.bat文件), 只要您在该机器上安装了JDK1.4或者更高的版本。 您需要修改trigger_build.bat前面的目录为您的环境里的相应的目录。 同样还需要修改trigger_build.bat文件里面和classpath有关的部分,将下面这些部分调整到和您的实际环境一致,包括 Luntbuild服务器的url,项目名,构建构建计划。在Unix平台下,基于trigger_build.bat文件, 创建一个trigger_build.sh脚本文件是很容易的。

  3. 检入(checkin)"loginfo" 文件。从现在开始,在您在该文件中配置的目录下的每次检入(checkin) 操作将会触发trigger_build命令,该命令会直接触发指定的构建计划,从而运行新的构建来验证当前VCS的健康状况。

注意

只要支持在做检入(checkin)的时候可以触发自定义的外部命令的版本控制系统都可以实现实时的持续集成。