我为我们的 maven 多项目创建了一个 hudson 作业,其中包含 5 个模块来将SNAPSHOT
工件部署到 maven 存储库。没关系,只要它在没有测试失败的情况下成功构建。但是,现在我想满足以下要求:
- 当一个模块测试失败时,构建应该继续构建并测试其他模块,但会变成黄色。使用
-Dmaven.test.failure.ignore=true
完成,但在下一个要求时失败。 - 当模块测试失败时,不应将任何工件部署到 maven 存储库。其他项目依赖于该项目的快照,而这些项目只想使用没有任何失败测试的最新快照。
- 最好使用 hudson maven 集成而不是免费脚本,我们可以获得 hudson 报告页面(每个模块的红色/黄色/蓝色状态,构建日志错误着色,...)。专门运行 maven 构建两次(第一次
mvn test -Dmaven.test.failure.ignore=true
,mvn deploy -DskipTests
然后)不是解决方案,因为它是性能损失,并且会混淆 hudson 报告页面并且它不是原子的(它在第二次构建中再次从存储库更新)。
有没有办法做到这一点?