2015-10-20 58 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來反映這一點。 –

相關問題