一尘不染

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

jenkins

我为我们的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报告页面,而且不是原子的(它在第二个构建中再次从存储库更新)。

有什么办法可以做到这一点?


阅读 173

收藏
2020-07-25

共1个答案

一尘不染

有一个后构建选项,称为将 工件部署到Maven存储库 。如果 即使构建不稳定 ,也没有选择 Deploy
,那么这意味着如果测试失败,它将不会部署任何东西。与-fae命令中的一起,事情应该以您期望的方式工作

2020-07-25