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

标签 maven-2 maven hudson maven-3 jenkins

我为我们的 maven 多项目创建了一个 hudson 作业,其中包含 5 个模块来部署 SNAPSHOT Artifact 到 Maven 存储库。没关系,只要它在没有测试失败的情况下成功构建。但是,现在我想满足以下要求:

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

  • 有没有办法做到这一点?

    最佳答案

    有一个名为 Deploy artifacts to Maven repository 的构建后选项。如果即使构建不稳定也不选择部署,那么这意味着如果测试失败,它将不会部署任何东西。连同 -fae在命令中,事情应该以您想要的方式工作

    关于maven-2 - 配置一个 hudson maven 作业以在测试失败时继续构建,但仅在没有测试失败时部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5196203/

    相关文章:

    maven-2 - 如何抑制/控制 Wagon-FTP Maven 扩展的日志记录?

    powershell - Hudson 更新到 powershell 3 后找不到 powershell

    maven - 两个版本 :prepare and release:perform 上的配置文件激活

    configuration - 如何让Hudson通过代理进行更新

    mercurial - "hg"Jenkins Mercurial插件调用时找不到

    java - m2eclipse buildpath 困惑

    java - 使用 Maven 检测循环依赖

    git - 使用 maven-release-plugin 标记和提交非源

    java - 无法解析基于模块的 Maven 项目的依赖关系

    java - maven package phase创建的war文件和maven war plugin war :war goal创建的war文件有区别吗