2010-12-20 62 views
2

我希望针对定期构建以及通过轮询SCM触发的构建目标有不同的构建目标。Hudson - 针对不同触发器的不同构建目标

更具体的:这个想法是每晚构建应该调用'mvn verify',其中包含集成测试,而普通构建调用'mvn test',它只执行单元测试。

任何想法如何使用Hudson实现这一点?

干杯 克里斯

回答

1

您可以创建两个职位 - 一个计划和其他调查。 在计划中,您可以指定来自轮询的不同Maven目标。

+0

这是明显的解决方案:) 谢谢。我只是想,也许人们可以在同一份工作中区分不同的构建目标。 – chr1s 2010-12-20 10:04:20

1

Raghuram的回答很直接和正确。但你也可以有三份工作。前两个触发器将maven目标作为参数传递给第三个工作。听起来很混乱,到了某个地步。但是,如果你有很多配置要做(特别是如果需要定期更改配置),这将有所帮助。这将有助于使两个作业的配置都正确。配置不仅包括构建步骤,还包括所有报告的收集,构建后清理,通知,触发下游作业......另一个优点是,您不需要同步这两个作业,因此它们不会并行运行(如果导致问题)。

不明白我的错误,我的第一个冲动是为了两份工作,这有它自己的优势。每晚构建的历史将包含整个一天(实际上是自上一个晚上构建以来),而不仅仅是自上一次构建以来的时间(这可能是一个触发式构建)。集成测试通常需要更广泛的设置或获取稀缺资源有两项工作,当你运行测试目标时,你不会阻止这些资源,另外我希望有更多的测试结果需要收集,以便Hudson随着时间的推移显示和跟踪,你也可能想要运行更多的指标你的代码的结果应该由Hudson显示出来,但缺点是你当然需要始终保持构建步骤基本相同

但是最终它是一个基于案例的决定,如果你去与2或3个工作。