当前位置:  开发笔记 > 后端 > 正文

Hudson的经验 - 构建矩阵项目

如何解决《Hudson的经验-构建矩阵项目》经验,为你挑选了2个好方法。

有没有人尝试过该功能并有一些反馈?或者有人知道一些有用的样本要查找吗?



1> Romain Linso..:

我几个月前尝试过这个功能,但我不再使用它了(因为我不需要它,不是因为它不是一个好的功能).

基本上,您定义n轴,每个轴都是具有多个值的属性.

让我们举个例子:你定义Axis"JDK",可能的值为"1.4","1.5","1.6",你定义了另一个属性"database",其中可能的值是"oracle","mysql".

因此,Hudson将启动您的构建6次:

使用JDK 1.4,使用属性database = oracle(即使用-Ddatabase = oracle启动JVM)

使用JDK 1.5,使用属性database = oracle

使用JDK 1.6,使用属性database = oracle

使用JDK 1.4,使用属性database = mysql

使用JDK 1.5,使用属性database = mysql

使用JDK 1.6,使用属性database = mysql

然后,一旦完成所有内容,您将能够看到每次迭代的结果.

当您需要在多个环境中测试应用程序时(在我的示例中,使用不同版本的JDK或数据库),此功能可能非常有用.

请注意,除了JDK轴之外,您必须自己管理Hudson作为条目提供的属性.在我的示例中,应用程序必须考虑"数据库"属性本身.最终,如果项目是mavenized,最好使用此属性在Maven2配置中启用特定的配置文件(有关详细信息,请参阅此处).

我希望我的解释足够清楚:)


如何为非Java项目访问这些属性?作为环境变量?
@Sridhar通常是的,这些属性由Hudson设置为当前构建的环境变量.
好的,这个问题已经过期,但是我在设置矩阵项目时遇到了困难 - 有关如何配置矩阵的任何指针?:)

2> Danny Staple..:

Matrix构建有许多问题:

广泛地与插件不兼容 - 它们越来越好,但你需要保持最新.

文物 - 更难以摆脱 - URls有点尴尬,在FS上找到它们(你无论如何应该避免)现在是一场噩梦.

这是一种耻辱,因为这个概念非常好,非常方便.


编辑

无法启动单点.

我们通常的做法是将参数化构建设置为同时运行 - 这带来了它自己的问题,但节省了我们有许多具有相同代码和不同常量的作业.

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有