2015-10-20 1680 views
2

我正在拉开序幕像这样(搭建起作业日志解除命令)两个不同的自由式詹金斯工作:-Dmaven.test.failure.ignore = true设置,但仍建立错误

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分析而编译。

UPDATE1

我竟然有3个职位(和计数)出现这些症状。为了记录在案,它们分别是:

  1. ActiveMQ(之前未列出)
  2. Wildfly Core
  3. Gora

添加的-B到ActiveMQ的工作(其他已经有它)移动它转向实际编译失败的地步。不幸的是,这项工作仍然没有成功,所以我不能确定-B实际上是否解决了这个问题。

我在本地尝试了Gora,结果与Jenkins相同。

UPDATE2

我发现以来在主戈拉POM <testFailureIgnore>false</testFailureIgnore>,但grep的告诉我testFailureIgnore是无处在Wildfly核心项目。

UPDATE3

的Wildfly核心故障可显然Surefire 2.17

+0

FWIW除,我看到了两个不同的版本在发布的错误消息中的surefire插件。最新版本的Surefire是2.19。版本可以更新吗? – user944849

+0

我无权更新poms。我处于只读状态,试图在nemo.sonarqube.org上执行SonarQube分析。 –

+0

我也会尝试在调试模式('-X')下运行Maven,以便在开始实际运行测试之前查看Maven认为该属性是什么。如果某人对POM中的值进行了硬编码(例如' false'),那么它可能会忽略您提供的命令行值。 – user944849

回答

2

被粉笔写一个bug尝试在调试模式(X)运行Maven来看看Maven的认为,属性开始之前实际运行测试。如果某人或某事对POM中的值进行了硬编码(例如<testFailureIgnore>false</testFailureIgnore>),那么它可能会忽略您提供的命令行值。

还要确保Jenkins作业不是Maven作业类型。 Stephen Connolly写了一篇关于为什么Jenkins Maven job type is evil的博客文章,他明确提到测试忽略切换是由下面的插件修改的一个项目。对该帖子的评论之一是:

对不起testFailureIgnore是假的不跳过是真的,例如,

<configuration> <testFailureIgnore>false</testFailureIgnore> <configuration>

这将确保模块的测试不能跳过...当Maven的作业类型是玩弄其自动魔法

+0

这些已经是自由式的工作。我编辑了OP来反映这一点。 –

相关问题