持续集成工具中的多个相关项目

not*_*oop 3 continuous-integration hudson

如何设置持续集成服务器来构建多个依赖项目?

我想为在mercurial存储库上托管的项目设置持续集成过程.但是,该项目对另一个项目托管在另一个mercurial存储库(两者都托管在Google上)具有编译时依赖性.

使用Hudson,我如何为两个项目设置CI作业(同时将一个二进制位置传递给另一个项目构建脚本)?其他工具能否更好地处理?

这两个项目都是使用Ant构建脚本的Java项目.

小智 5

我建议调查Maven(或者如果你不想转移到Maven,Ivy,它与Ant集成) - 它不是真正的CI服务器的工作来处理你正在谈论的工件依赖.

也就是说,如果你在Hudson服务器上有两个作业,比如job_a和job_b,你可以配置job_a来存档它的工件(包括你在job_b中需要的jar文件),然后在它完成时启动job_b.然后,在job_b中,您可以使用ant的get任务从http://hudsonserver/job/job_a/lastStableBuild/artifact/jarfile.jar(等)下载jar文件.在那个位置总会有一些东西,因为它是job_a的最后一个稳定版本的符号链接,所以你不必担心job_b运行而不是找到它需要的jar文件.