我正在尝试将自由样式的作业转换为管道代码。以下是作业中“调用Artifactory Maven 3”下宣布的MAVEN_OPTS和Maven目标。
Maven目标:全新安装
MAVEN_OPTS:-Xmx2048m
-Xms512m
-XX:PermSize = 256m
-XX:MaxPermSize = 1024m
-Denv.build-timestamp = $ {BUILD_TIMESTAMP}
-Denv.build-job = $ {JOB_NAME}
-Denv.build-number = $ {BUILD_NUMBER}
-Denv.build-url = $ {BUILD_URL}
-Denv.git-commit = $ {GIT_COMMIT}
-Denv.git-branch = $ {GIT_BRANCH}
我正在试用的管道:
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
我确定我以错误的方式传递了MAVEN_OPTS。有人可以指导我正确的systax在管道中声明MAVEN_OPTS
最佳答案
设置环境变量MAVEN_OPTS,它将起作用。
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'
}
}
}