Hudson + Maven + Emma / Sonar =构建循环运行2次
我有一堆在Hudson建造的Maven项目,其中Sonar坐在旁边。 Sonar为我提供Sonar统计数据,FindBugs统计数据和代码覆盖率。
我注意到,无论使用Sonar还是直接通过Maven使用EMMA, 整个构建周期都会运行两次。 这包括init(在我的情况下,重新初始化数据库 - 昂贵)和单元测试(几百个 - 也很昂贵)。
我怎样才能防止这一点? 我做了大量的阅读,看起来这是由于代码覆盖插件的设计 - 使未分离的类与工具类分离。
我尝试过如下配置:
声纳文档建议分两个阶段运行声纳插件: -
mvn clean install -Dtest = false -DfailIfNoTests = false
mvn声纳:声纳
测试在第一阶段绕过并在第二阶段隐式运行。
一种替代方法是运行以下命令: -
mvn clean install sonar:sonar -Dmaven.test.failure.ignore=true
但是这将会运行两次测试 - 就像你发现的那样。
要添加到@ Strawberry的答案,您可以重新使用单元测试报告,而不是再次运行它们。 请参阅声纳文档中重新使用现有单元测试报告一节
一旦完成,您可以在Hudson中配置以下内容
clean deploy sonar:sonar
链接地址: http://www.djcxy.com/p/50731.html