gpt4 book ai didi

java - 由于 @tmp dir 导致 Jenkins 管道 DSL Maven 错误

转载 作者:行者123 更新时间:2023-12-01 19:56:48 27 4
gpt4 key购买 nike

我刚刚创建了一个 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/<project>@tmp/durable-77d8d13c/script.sh: mvn: not found

看起来它试图找到pom.xml里面<project>@tmp目录是空的。实际代码已成功克隆到 <project> 内目录。下面是我的Jenkinsfile :

node {
stage ("Clean Workspace") {
echo "${WORKSPACE}"
cleanWs()
}
stage ("Get Code") {
git branch: "${params.branch}", url: 'git@bitbucket.org:xx/xxxxxxx.git'
}
stage ("mvn clean") {
sh "mvn clean install -Dmaven.test.skip=true -Dfindbugs.skip=true"
}
}

我也尝试过 ${WORKSPACE} env 变量但仍然不起作用。

最佳答案

问题已解决,我通过包含 Maven 工具步骤修改了 Pipeline DSL 作业:

stage ("mvn clean") {
withEnv( ["PATH+MAVEN=${tool name: 'mvn', type: 'maven'}/bin"] ) {
sh "mvn clean install -Dmaven.test.skip=true -Dfindbugs.skip=true"
}
}

关于java - 由于 @tmp dir 导致 Jenkins 管道 DSL Maven 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49385149/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com