在Jenkins中有一個Gradle構建,其中包含作爲構建的一部分執行的各種JUnit測試。現在,當某些測試失敗時,完整的構建標記爲失敗 - 因爲Gradle表示構建失敗。當JUnit測試失敗時,Mark Gradle在Jenkins中構建不穩定
我該如何說服Gradle成功構建,然後Jenkins將構建標記爲不穩定?用螞蟻這根本就沒有問題。
在Jenkins中有一個Gradle構建,其中包含作爲構建的一部分執行的各種JUnit測試。現在,當某些測試失敗時,完整的構建標記爲失敗 - 因爲Gradle表示構建失敗。當JUnit測試失敗時,Mark Gradle在Jenkins中構建不穩定
我該如何說服Gradle成功構建,然後Jenkins將構建標記爲不穩定?用螞蟻這根本就沒有問題。
使用ignoreFailures property in the test task.
apply plugin: 'java'
test {
ignoreFailures = true
}
可以包括這在你的主要的build.gradle被應用到所有項目和所有的測試任務。
allprojects{
tasks.withType(Test) {
ignoreFailures=true;
}
}
您可以使用外部屬性來解決此問題。
if (!ext.has('ignoreTestFailures')) {
ext.ignoreTestFailures = false
}
test {
ignoreFailures = project.ext.ignoreTestFailures
}
在此設置中,默認情況下失敗將會失敗構建。但是如果你像這樣調用Gradle:gradle -PignoreTestFailures=true test
那麼測試失敗不會使構建失敗。因此,您可以將Jenkins配置爲忽略測試失敗,但在開發人員手動運行測試時會失敗。
只能從命令行配置jenkins是否可能?因爲有了這個選項,失敗的構建會記錄爲SUCCESS – MariuszS
好的構建成功 - 但jenkins顯示構建爲「成功」而不是「不穩定」: - /。任何人都有這個好的解決方案? Jenkins的一些插件?或什麼 –
好 - 解決方案是使用這個。並從這個東西回答http://stackoverflow.com/questions/8148122/how-to-mark-a-build-unstable-in-jenkins-when-running-shell-scripts我用「文本查找」插件 –