TeamCity/Maven 不要让模块成为 'SKIPPED'

TeamCity/Maven DONT make modules be 'SKIPPED'

假设我有一个名为 R 的根项目。它有模块 A、B、C 和 D 作为子模块,但每个都是一个应用程序。

每当我使用 teamcity/maven 并且出现错误时,它会跳过其他模块,无论是 compile/test.

所以, 每当编译它显示

R................SUCCESS
A................SUCCESS
B................FAILURE
C................SKIPPED
D................SKIPPED

我想在 C 和 D 中都看到结果。如何使用 teamcity/maven 实现此目的。有参数吗?

此选项必须谨慎使用,但很有用。无论项目结果如何,构建都不会失败。所有失败都被忽略,构建只是继续。在您的项目中:

mvn clean install --fail-never (or just --fn)

[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] ------------------------------------------------------------------------
[INFO] Module A .............................................. SUCCESS [2.583s]
[INFO] Module B .............................................. SUCCESS [0.086s]
[INFO] Module C .............................................. FAILED [1.598s]
[INFO] Module D .............................................. SUCCESS [0.051s]
[INFO] Reactor ............................................... SUCCESS [0.921s]
[INFO] ------------------------------------------------------------------------
[INFO] Error for project: Module C (during install)
[INFO] ------------------------------------------------------------------------
[INFO] There are test failures.

Please refer to /Users/clement/workspaces/experiments/Project/module-C/target/surefire-reports for the individual test results.
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO]  + Ignoring failures
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5 seconds
[INFO] Finished at: Sun May 09 10:43:41 CEST 2010
[INFO] Final Memory: 31M/79M
[INFO] ------------------------------------------------------------------------

模块C失败,D未跳过,全局构建成功

之后在 Teamcity 中您可以添加 build failure condition 以检查结果,如果发现任何错误则构建失败

如果您使用 mvn --fail-at-end 所有模块都将通过,但失败只会在构建结束时显示。