Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Jenkins运行Gradle内置Docker时无法cd到目录_Docker_Gradle_Jenkins Pipeline - Fatal编程技术网

使用Jenkins运行Gradle内置Docker时无法cd到目录

使用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

我想在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('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
)。