有人尝试过那个功能并有一些反馈吗?还是有人知道一些有用的示例供参考吗?
有人尝试过那个功能并有一些反馈吗?还是有人知道一些有用的示例供参考吗?
我几个月前尝试过这个功能,但现在不再使用它(仅因为我不需要它,而不是因为它不是一个好的功能)。
基本上,您定义 n 个轴,每个轴都是具有多个值的属性。
让我们举个例子:您定义“JDK”轴,其可能值为“1.4”、“1.5”、“1.6”,并定义另一个属性“database”,其中可能的值为“oracle”、“mysql”。
因此,Hudson 将启动您的构建 6 次:
然后,一旦所有内容都完成,您就可以查看每个迭代的结果。
当您需要在几个环境中测试应用程序时,此功能可能非常有用(例如,在不同版本的 JDK 或数据库中)。
请注意,除了 JDK 轴之外,您必须自己管理 Hudson 提供的输入属性。在我的示例中,应用程序必须考虑“database”属性本身。如果您的项目已经使用了 Maven2,则一个好主意是使用此属性来启用 Maven2 配置文件中的特定设置(有关更多详细信息,请参见 这里)。
希望我的解释足够清晰 :)
矩阵构建存在许多问题:
这真是太可惜了,因为这个概念非常好,而且在适当的情况下非常方便。
编辑
我们通常采用参数化构建并发运行的方式来解决这个问题 - 这会带来自己的问题,但可以避免我们有许多代码相同但常量不同的作业。
withCredentials
,sh
等来提取值。 - xbmono