Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.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
Docker 詹金斯赢了';在变量替换之后不要使用参数_Docker_Shell_Jenkins_Jenkins Pipeline - Fatal编程技术网

Docker 詹金斯赢了';在变量替换之后不要使用参数

Docker 詹金斯赢了';在变量替换之后不要使用参数,docker,shell,jenkins,jenkins-pipeline,Docker,Shell,Jenkins,Jenkins Pipeline,我正在尝试使用一个与GEM文件的SHA相关的变量。问题是,当我在sh命令中使用它时,其他参数将不会被解释。 例如: docker build ${VAR} . 将导致一个错误,指出“docker build”恰好需要1个参数,因为命令的“.”未被解释 下面是尝试提取图像、构建图像并发布图像的代码: def GEMFILE_SHA = "" pipeline { ..... stages { stage("Build Docker Imag

我正在尝试使用一个与GEM文件的SHA相关的变量。问题是,当我在sh命令中使用它时,其他参数将不会被解释。 例如:

docker build ${VAR} .
将导致一个错误,指出“docker build”恰好需要1个参数,因为命令的“.”未被解释

下面是尝试提取图像、构建图像并发布图像的代码:

def GEMFILE_SHA = ""

pipeline {
.....
    stages {
        stage("Build Docker Image and Push to Artifactory - Snapshot Repository") {
            steps {
             container("docker") {
                script {
                    GEMFILE_SHA = sh(returnStdout: true, script: "sha256sum Gemfile | cut -d ' ' -f1 | head -n1", label: "Set Gemfile sha")
                }
                sh script: "docker login -u ${DOCKER_REGISTRY_CREDS_USR} -p ${DOCKER_REGISTRY_CREDS_PSW} ${DOCKER_REGISTRY_URL}", label: "Docker Login."
                catchError(buildResult: 'SUCCESS', stageResult: 'SUCCESS') {
                    sh script: "docker pull ${DOCKER_REGISTRY_URL}/${DOCKER_REPO}:${GEMFILE_SHA}", label: "Pull Cached Image."
                }
                sh script: "docker build  --network=host --no-cache -t ${DOCKER_REGISTRY_URL}/${DOCKER_REPO}:${GEMFILE_SHA} .", label: "Build Docker Image."
                sh script: "docker push ${DOCKER_REGISTRY_URL}/${DOCKER_REPO}:${GEMFILE_SHA}", label: "Push Docker Image."
              }
            }    
        }  
        }     
    }
}

在build和--network之间有两个空格
docker build--network
。请删除它们并尝试重新编译无效:(使用
docker build…-f Dockerfile