Zur Zeit schlägt meine Pipeline fehl (rot), wenn ein Maven-Job instabil ist (gelb).Jenkins-Pipeline schlägt fehl, wenn Schritt instabil ist
node {
stage 'Unit/SQL-Tests'
parallel (
phase1: { build 'Unit-Tests' }, // maven
phase2: { build 'SQL-Tests' } // shell
)
stage 'Integration-Tests'
build 'Integration-Tests' // maven
}
In diesem Beispiel ist das Ergebnis des Job-Unit-Tests instabil, wird jedoch in der Pipeline als fehlgeschlagen angezeigt.
Wie kann ich die Jobs/pipeline/jenkins so ändern, dass der (1) Pipeline-Schritt instabil statt fehlgeschlagen ist und (2) der Status der Pipeline instabil ist statt fehlgeschlagen.
Ich habe versucht, den MAVEN_OPTS
Parameter -Dmaven.test.failure.ignore=true
hinzuzufügen, aber das hat das Problem nicht gelöst. Ich bin mir nicht sicher, wie man das build 'Unit-Test'
in irgendeine Logik wickeln kann, die das Ergebnis fangen und verarbeiten kann.
Das Hinzufügen einer Subpipeline mit this logic führt nicht zum Erfolg, da es keine Option zum Auschecken aus Subversion gibt (diese Option ist in einem normalen maven-Job verfügbar). Ich möchte die Befehlszeile nicht verwenden, wenn möglich.
Und man kann nicht ein 'SUCCESS' Ergebnis gesetzt, wenn Es wurde bereits auf "FAILED" gesetzt (wie hier [http://stackoverflow.com/questions/38221836/how-to-manipulate-the-build-result-of-a-jenkins-pipeline-job besprochen]). – StephenKing
Danke für die Info, hinzugefügt, dass die Antwort. – michaelbahr
Ich habe das gleiche Problem.Ich verstehe immer noch nicht den Grund.Warum wird Instable als FEHLGESCHLAGEN betrachtet, wenn das Stage View-Plugin "Unstable" (gelb) unterstützt? Warum musst du currentBuild.result die ganze Zeit einstellen und nicht nur das Schlimmste nehmen? – lqbweb