G. *_*eam 5 unit-testing maven jenkins
我有两个不同的Freestyle Jenkins作业,如下所示(从作业日志中删除了构建命令):
mvn -Dcloudbees.private.release.repository.off=true -Dcloudbees.private.snapshot.plugin.repository.off=true -Dcloudbees.private.release.plugin.repository.off=true -Dcloudbees.central.repository.off=true -Dcloudbees.private.snapshot.repository.off=true clean org.jacoco:jacoco-maven-plugin:prepare-agent install -Dmaven.test.failure.ignore=true -V -Dcheckstyle.skip=true -Dpmd.skip=true -Dgpg.skip=true -B -e
和
mvn clean install cobertura:cobertura -DallTests -Dcobertura.report.format=xml -Dmaven.test.failure.ignore=true -V -Dcheckstyle.skip=true -Dpmd.skip=true
他们分别这样结束:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12:test (default-test) on project gora-core: There are test failures.
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.17:test (default-test) on project wildfly-domain-management: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.17:test failed:
我所有的搜索都告诉我-Dmaven.test.failure.ignore=true应该做到这一点,所以我受阻了。
请注意,我没有对这些项目的写权限。我只是在尝试进行编译以准备SonarQube分析。
更新1
我原来有3种工作(而且还在不断增加),并伴有这些症状。作为记录,它们是:
添加-B到ActiveMQ的工作(其他已经有它)移动它前进到实际编译故障点。不幸的是,这项工作仍然没有成功,所以我不能确定这项工作-B确实得到了解决。
我在本地尝试了Gora,结果与Jenkins相同。
更新2
从那以后<testFailureIgnore>false</testFailureIgnore>,我就在主要的Gora pom中找到了,但是grep告诉我testFailureIgnoreWildfly Core项目中没有。
更新3
Wildfly Core故障显然可以归因于Surefire 2.17中的一个错误。
尝试在调试模式 (-X) 下运行 Maven,以查看 Maven 在开始实际运行测试之前认为该属性是什么。如果某人或某物在 POM 中硬编码了该值(例如<testFailureIgnore>false</testFailureIgnore>),那么它可能会忽略您提供的命令行值。
还要确保 Jenkins 作业不是 Maven 作业类型。Stephen Connolly 写了一篇关于为什么Jenkins Maven 作业类型是邪恶的博客文章,他明确提到测试忽略切换是插件在幕后修改的一项。该帖子的评论之一是:
抱歉 testFailureIgnore 是假的,不是跳过是真的...,例如
<configuration> <testFailureIgnore>false</testFailureIgnore> <configuration>这将确保模块的测试不能被跳过...除非 Maven 作业类型以其自动魔力快速而松散地发挥作用
| 归档时间: |
|
| 查看次数: |
5717 次 |
| 最近记录: |