2011-12-01 25 views
19

Yapımın bir parçası olarak yürütülen çeşitli JUnit testleriyle Jenkins'de bir Gradle derim var. Bazı testler başarısız olduğunda, tüm yapı başarısız olarak işaretlenir - Gradle derlemenin başarısız olduğunu belirtir.Mark Gradle yapı dengesiz yapı

Gradle'ı yapıyı başarılı kılmak için nasıl ikna edebilirim ve daha sonra yapıyı kararsız olarak işaretlemek için Jenkins'i nasıl sayarım? Karınca ile bu hiç sorun değildi.

cevap

21

kullanın Eğer ana build.gradle bu içerebilir ignoreFailures property in the test task.

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

Bunu jenkins için sadece komut satırından yapılandırmak mümkün mü? Çünkü bu seçenek ile BAŞARISIZ – MariuszS

+2

BÜYÜK YAPILANDIRILMIŞ OLUŞTURMA başarılı oldu - ama jenkins "kararsız" olarak değil, "başarı" olarak inşa gösterir: - /. Bunun için herkes iyi bir çözüm var mı? Jenkins için bir eklenti mi? Ya da bir şey –

+1

kuyu - çözüm bu kullanın. Ve bu cevaplardan bir şey http://stackoverflow.com/questions/8148122/how-to-mark-a-build-unstable-in-jenkins-when-running-shell-scripts "Metin bulucu" eklentisini kullandım –

1

tüm projeler ve tüm test görevleri uygulanacak.

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

Bu sorunu çözmek için harici özellikleri kullanabilirsiniz.

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

test { 
    ignoreFailures = project.ext.ignoreTestFailures 
} 

Bu kurulumda, varsayılan hatalar yapı başarısız olur. Ancak Gradle'ı şöyle sorarsanız: gradle -PignoreTestFailures=true test, daha sonra test başarısızlıkları yapı başarısız olur. Böylece, Jenkins'i test başarısızlıklarını görmezden gelebilecek şekilde yapılandırabilir, ancak bir geliştirici testleri manuel olarak çalıştırdığında yapılamayı durdurabilirsiniz.