2017-10-02 1 views
0

In meiner Jenkins Pipeline versuche ich das Maven Surefire Plugin einzubauen, damit ich Maven Test innerhalb der Pipeline laufen lassen kann und den Fehler des Tests ignorieren kann (so dass der Pipeline Prozess weitergehen kann):Fehler bei Maven clean deploy

mvn clean deploy -Dmaven.test.failure.ignore=false 

Allerdings, wenn ich versuche, den Befehl, den ich folgende Fehlermeldung erhalten zu verwenden:

class org.codehaus.groovy.ast.expr.UnaryMinusExpression, with its value 'Dmaven.test.failure.ignore', is a bad expression as the left hand side of an assignment operator at line: 6 column: 51. File: WorkflowScript @ line 6, column 51. 
    oy -Dmaven.test.failure.ignore=false 
           ^

ich verstehe nicht ganz, warum es nicht funktioniert, kann jemand erklären?

Antwort

1

Ihr Kommandozeilenaufruf von Maven wird als grooviger Befehl interpretiert. Dies bedeutet, dass Sie in Ihrem groovigen Skript einen Syntaxfehler gemacht haben.

0

Yo müssen die Pipeline maven Plugin verwenden und die maven Anruf mit einem Shell-Schritt ausgeführt wird:

https://wiki.jenkins.io/display/JENKINS/Pipeline+Maven+Plugin

Beispiel:

withMaven(
     // Maven installation declared in the Jenkins "Global Tool Configuration" 
     maven: 'M3', 
     // Maven settings.xml file defined with the Jenkins Config File Provider Plugin 
     // Maven settings and global settings can also be defined in Jenkins Global Tools Configuration 
     mavenSettingsConfig: 'my-maven-settings', 
     mavenLocalRepo: '.repository') { 

     // Run the maven build 
     sh "mvn clean deploy -Dmaven.test.failure.ignore=false" 

    } // withMaven will discover the generated Maven artifacts, JUnit Surefire & FailSafe reports and FindBugs reports