配置hudson maven作业以在出现测试失败时继续构建,但仅在没有测试失败时进行部署

Geo*_*met 8 maven-2 hudson maven-3 maven jenkins

我已经为我们的maven多项目创建了一个hudson作业,其中包含5个模块,用于将SNAPSHOT工件部署到maven存储库.没关系,只要它成功构建而没有测试失败.但是,现在我想满足以下要求:

  • 当模块出现测试失败时,构建应继续构建并测试其他模块,但变为黄色.使用-Dmaven.test.failure.ignore=true完成,但在下一个要求失败.
  • 当模块出现测试失败时,不应将任何工件部署到maven存储库.其他项目依赖于此项目的快照,而这些项目仅希望使用没有任何失败测试的最新快照.
  • 最好使用hudson maven集成而不是免费脚本我们得到哈德森报告页面(每个模块的红色/黄色/蓝色状态,构建日志错误着色,......).特别是运行maven构建两次(第一次mvn test -Dmaven.test.failure.ignore=true,比第一次mvn deploy -DskipTests)不是解决方案,因为它是性能损失并且它混淆了哈德森报告页面并且它不是原子的(它在第二次构建中再次从存储库更新).

有没有办法实现这个目标?

小智 5

有一个名为Deploy artifacts的post build选项到Maven repository.如果您没有选择Deploy,即使构建不稳定,那么这意味着如果测试失败,它将不会部署任何内容.与-fae命令一起,事物应该按照你想要的方式工作