2017-12-05 3 views
0

Ich versuche, einen freien Stil Job in Pipeline-Code zu konvertieren. Im Folgenden werden die MAVEN_OPTS zusammen mit Maven-Zielen unter "Artifactory Maven 3 aufrufen" im Job deklariert.MAVEN_OPTS in Pipeline übergeben

Maven Ziele: sauber

MAVEN_OPTS installieren: -Xmx2048m

-Xms512m

-XX: PermSize = 256m

-XX: MaxPermSize = 1024m

-Denv. build-timestamp = $ {BUILD_TIMESTAMP}

-Denv.b uild-job = $ {} JOB_NAME

-Denv.build-number = $ {} BUILD_NUMBER

-Denv.build-url = $ {} BUILD_URL

-Denv.git-commit = $ {GIT_COMMIT}

-Denv.git-Zweig = $ {} GIT_BRANCH

Mein Versuch in der Pipeline:

node('node1') { 

    def javaHome = tool name: 'JDK 1.8', type: 'hudson.model.JDK' 
    def mvnHome = tool name: 'M3', type: 'hudson.tasks.Maven$MavenInstallation' 
    sh "$mvnHome/bin/mvn -f pom.xml clean install -U -Dmaven.repo.local=$WORKSPACE/.m2/repository -Xmx2048m -Xms512m -XX:PermSize=256m -XX:MaxPermSize=1024m -Dtimestamp=${BUILD_TIMESTAMP} ..." 

    } 

Error: 
Could not find metadata org.apache.maven.plugins/maven-metadata.xml in local 

Ich bin mir sicher, dass ich MAVEN_OPTS falsch übergebe. Kann mir jemand das richtige Systax geben, um MAVEN_OPTS in der Pipeline

Antwort

0

zu deklarieren, setze Umgebungsvariable MAVEN_OPTS und es wird funktionieren.

pipeline { 
    agent any 
    tools { 
     jdk 'JDK 1.8' 
     maven 'M3' 
    } 
    environment { 
     MAVEN_OPTS = ' -Denv.build-timestamp=${BUILD_TIMESTAMP} ...' 
    } 
    stage('Example') { 
     steps { 
      sh 'mvn clean install' 
     } 
    } 
} 
+0

Danke, ich habe es nicht überprüfen, aber Ich habe eine Lösung gefunden, die maven_opts in der withMaven() - Umgebung erwähnt. Lass es mich posten. –

0

Knoten ('node1') {

Stufe ('MavenGoals') {

withMaven(jdk: 'JDK 1.8', maven: 'M3', mavenLocalRepo: '$WORKSPACE/.m2/repository', mavenOpts: '-Xmx2048m -Xms512m -XX:PermSize=256m ....') { 

    sh 'mvn clean install' 

    } 

}

}

Verwandte Themen