2

我最近发现哈德逊不是问题。实际上它是 Maven 本身,因为多模块构建导致构建失败,而不是 Hudson。我只是没有注意到问题实际存在的地方。

把原来的问题留在这里。


我正在使用failsafe-maven-plugin运行一些集成测试。故障安全和万无一失之间的区别在于故障安全允许失败并且不会使构建失败。

在我的夜间构建中,有时集成测试使用的服务可能会关闭。在正常构建中,故障安全插件会让构建继续,因为允许集成测试失败。然而,哈德森似乎并不尊重这一点,并停止了建造并产生了雨水。

我尝试使用 -DskipITs关闭夜间构建的故障安全测试。这似乎失败了,因为我在一个多模块构建中。

关于如何让 Maven 尊重这些测试可能会失败的任何想法,即使它们是特定模块的一部分?

项目结构如下:

-parent
\-jar
\-jar (where integration tests run)
\-war
\-ear
4

3 回答 3

0

使用Maven 配置文件打开/关闭 Maven 故障安全插件的验证目标

于 2011-08-12T15:38:28.643 回答
0

您可以使用配置文件为不同的环境(夜间构建、发布、普通开发人员构建等)使构建有所不同。

我也会尝试更新 Maven 版本,最近有一些与多模块构建相关的修复。

于 2010-03-29T00:15:40.617 回答
0

我不相信您最初假设 failsafe-maven 不会使构建失败是正确的。失败的测试不会阻止集成测试阶段的完成,这与运行单元测试的肯定插件不同。这允许后集成测试阶段运行,因此可以拆除测试环境(应用服务器关闭等)。

在此之后,运行验证阶段,查看集成测试的结果。如果其中一个测试失败,那么Maven 将返回一个构建失败,Hudson 会正确地选择它,因此您的构建可以被标记为损坏。

于 2011-02-23T15:12:54.683 回答