Java 由于@tmp dir,Jenkins管道DSL Maven错误
我刚刚创建了一个Jenkins Pipeline DSL作业,在这里我从SCM克隆了一个Java代码,并尝试运行Java 由于@tmp dir,Jenkins管道DSL Maven错误,java,maven,jenkins,jenkins-pipeline,Java,Maven,Jenkins,Jenkins Pipeline,我刚刚创建了一个Jenkins Pipeline DSL作业,在这里我从SCM克隆了一个Java代码,并尝试运行mvn clean。但管道不断抛出一个错误,说: mvn clean install -Dmaven.test.skip=true -Dfindbugs.skip=true /var/lib/jenkins/workspace/<project>@tmp/durable-77d8d13c/script.sh: 2: /var/lib/jenkins/workspace/&
mvn clean
。但管道不断抛出一个错误,说:
mvn clean install -Dmaven.test.skip=true -Dfindbugs.skip=true
/var/lib/jenkins/workspace/<project>@tmp/durable-77d8d13c/script.sh: 2:
/var/lib/jenkins/workspace/<project>@tmp/durable-77d8d13c/script.sh: mvn: not found
我还尝试了
${WORKSPACE}
env变量,但仍然不起作用。问题已经解决,我通过包括Maven工具步骤修改了管道DSL作业,如下所示:
stage ("mvn clean") {
withEnv( ["PATH+MAVEN=${tool name: 'mvn', type: 'maven'}/bin"] ) {
sh "mvn clean install -Dmaven.test.skip=true -Dfindbugs.skip=true"
}
}
问题解决了,我修改了管道DSL作业,包括Maven工具步骤,如下所示:
stage ("mvn clean") {
withEnv( ["PATH+MAVEN=${tool name: 'mvn', type: 'maven'}/bin"] ) {
sh "mvn clean install -Dmaven.test.skip=true -Dfindbugs.skip=true"
}
}
您可以直接将
mvn
添加到路径本身,而不是这样做。为此,请打开~/.bash_配置文件并添加以下行
MAVEN_HOME="<path to maven folder>"
export MAVEN_HOME
PATH=$PATH:$MAVEN_HOME/bin
您可以直接将
mvn
添加到路径本身,而不是这样做。为此,请打开~/.bash_配置文件并添加以下行
MAVEN_HOME="<path to maven folder>"
export MAVEN_HOME
PATH=$PATH:$MAVEN_HOME/bin
错误消息
mvn:notfound
表示Jenkins管道无法找到mvn命令
您应该使用with maven
管道步骤来提供有效的maven环境
例如:
node {
stage ("Clean Workspace") {
echo "${WORKSPACE}"
cleanWs()
}
stage ("Get Code") {
git branch: "${params.branch}", url: 'git@bitbucket.org:xx/xxxxxxx.git'
}
stage ("mvn clean") {
withMaven {
sh "mvn clean install -Dmaven.test.skip=true -Dfindbugs.skip=true"
}
}
}
检查Jenkins是否正确配置为使用maven(在“管理Jenkins>配置系统”下),以及是否安装了“管道maven插件”(在“管理Jenkins>管理插件”下)
此处的更多信息:错误消息
mvn:notfound
表示Jenkins管道无法找到mvn命令
您应该使用with maven
管道步骤来提供有效的maven环境
例如:
node {
stage ("Clean Workspace") {
echo "${WORKSPACE}"
cleanWs()
}
stage ("Get Code") {
git branch: "${params.branch}", url: 'git@bitbucket.org:xx/xxxxxxx.git'
}
stage ("mvn clean") {
withMaven {
sh "mvn clean install -Dmaven.test.skip=true -Dfindbugs.skip=true"
}
}
}
检查Jenkins是否正确配置为使用maven(在“管理Jenkins>配置系统”下),以及是否安装了“管道maven插件”(在“管理Jenkins>管理插件”下)
此处的更多信息:您应该使用
with maven()…{…}
Jenkins中的管道部分…是什么让你相信mvn
安装在你正在执行的代理上?@mkobit我通过mvn-version
命令检查了Jenkins
用户。@JanshairKhan是在主机上还是在你正在运行脚本的代理上?很难回答,因为stacktrace似乎表明运行构建的位置缺少mvn
。@mkobit。我当前在一个主节点上。您应该使用withMaven()…{…}
Jenkins中的管道部分…是什么让你相信mvn
安装在你正在执行的代理上?@mkobit我通过mvn-version
命令检查了Jenkins
用户。@JanshairKhan是在主机上还是在你正在运行脚本的代理上?很难回答,因为stacktrace似乎表明运行构建的位置缺少mvn
。@mkobit。我目前在一个主节点上。