2011-12-01 88 views
19

在Jenkins中有一個Gradle構建,其中包含作爲構建的一部分執行的各種JUnit測試。現在,當某些測試失敗時,完整的構建標記爲失敗 - 因爲Gradle表示構建失敗。當JUnit測試失敗時,Mark Gradle在Jenkins中構建不穩定

我該如何說服Gradle成功構建,然後Jenkins將構建標記爲不穩定?用螞蟻這根本就沒有問題。

回答

21

使用ignoreFailures property in the test task.

apply plugin: 'java' 
test { 
    ignoreFailures = true 
} 
+0

只能從命令行配置jenkins是否可能?因爲有了這個選項,失敗的構建會記錄爲SUCCESS – MariuszS

+2

好的構建成功 - 但jenkins顯示構建爲「成功」而不是「不穩定」: - /。任何人都有這個好的解決方案? Jenkins的一些插件?或什麼 –

+1

好 - 解決方案是使用這個。並從這個東西回答http://stackoverflow.com/questions/8148122/how-to-mark-a-build-unstable-in-jenkins-when-running-shell-scripts我用「文本查找」插件 –

1

可以包括這在你的主要的build.gradle被應用到所有項目和所有的測試任務。

allprojects{ 
    tasks.withType(Test) { 
     ignoreFailures=true; 
    } 
} 
3

您可以使用外部屬性來解決此問題。

if (!ext.has('ignoreTestFailures')) { 
    ext.ignoreTestFailures = false 
} 

test { 
    ignoreFailures = project.ext.ignoreTestFailures 
} 

在此設置中,默認情況下失敗將會失敗構建。但是如果你像這樣調用Gradle:gradle -PignoreTestFailures=true test那麼測試失敗不會使構建失敗。因此,您可以將Jenkins配置爲忽略測試失敗,但在開發人員手動運行測試時會失敗。

相關問題