使用Jenkins运行Gradle内置Docker时无法cd到目录
我想在Jenkins管道中建立一个基于Gradle的项目。构建步骤应在Docker容器中运行。这是我目前的管道:使用Jenkins运行Gradle内置Docker时无法cd到目录,docker,gradle,jenkins-pipeline,Docker,Gradle,Jenkins Pipeline,我想在Jenkins管道中建立一个基于Gradle的项目。构建步骤应在Docker容器中运行。这是我目前的管道: pipeline { agent any environment { GRADLE_DOCKER_IMAGE = 'gradle:5.6.4-jdk8' GRADLE_DOCKER_ARGS = '-v ${HOME}/.m2:/maven/.m2' } stages { stage('Compil
pipeline {
agent any
environment {
GRADLE_DOCKER_IMAGE = 'gradle:5.6.4-jdk8'
GRADLE_DOCKER_ARGS = '-v ${HOME}/.m2:/maven/.m2'
}
stages {
stage('Compile') {
steps {
script{
docker.image(GRADLE_DOCKER_IMAGE).inside("${GRADLE_DOCKER_ARGS}") {
sh './gradlew clean build --scan -s'
}
}
}
}
}
}
管道本身已成功完成,但日志中有以下消息:
/gradlew:23:cd:can't cd to./
如果我省略了/
(只使用sh'gradlew…
),那么构建将失败,因为找不到命令gradlew
我在这里遗漏了什么?我猜这是由于,但它不应该输出任何内容。如果它没有阻止您的构建,我就不会担心它。否则,您可以尝试使用
$WORSPACE
环境变量传递一个解析路径,例如,该变量应该修复您在日志中看到的消息。可能是您意外地允许您进行编辑或者格式化你的gradlew
文件(/gradlew
当我让IntelliJ格式化它时总是抱怨)。此外,你可能想试试sh-c'
(注意-c
)。