找不到在 gitlab runner 中下载的文件

Can't find files downloaded inside gitlab runner

我正在为 gradle 项目设置 GitLab CI。下载 gradle 后,虽然下载成功,但 unzip 命令报告没有找到 zip 文件。我添加了一个 ls 只是为了查看目录的内容,但我的 zip 文件不存在。下面是我的 .gitlab-ci.yml 文件

image: docker:latest

stages:
  - build 

before_script:
  - cd /usr/lib
  - curl https://services.gradle.org/distributions/gradle-2.10-bin.zip -o gradle-2.10-bin.zip
  - unzip "gradle-2.10-bin.zip"
  - ln -s "/usr/gradle-2.10/bin/gradle" /usr/bin/gradle
  - rm "gradle-2.10-bin.zip"
  - export GRADLE_HOME=usr/lib/gradle-2.10
  - export PATH=$PATH:$GRADLE_HOME/bin

build_job:
  image: java:8
  stage: build
  script:
    - gradle -v

这是作业的错误输出

$ unzip "gradle-2.10-bin.zip" unzip: cannot find or open gradle-2.10-bin.zip, gradle-2.10-bin.zip.zip or gradle-2.10-bin.zip.ZIP. ERROR: Job failed: exit code 1

这不是该命令的完整错误输出,这是:

$ unzip "gradle-2.10-bin.zip"
Archive:  gradle-2.10-bin.zip
  End-of-central-directory signature not found.  Either this file is not
  a zipfile, or it constitutes one disk of a multi-part archive.  In the
  latter case the central directory and zipfile comment will be found on
  the last disk(s) of this archive.
unzip:  cannot find zipfile directory in one of gradle-2.10-bin.zip or
        gradle-2.10-bin.zip.zip, and cannot find gradle-2.10-bin.zip.ZIP, period.

如果我们检查它,文件是空的。如果我们在 url 上执行 curl -I,我们会得到 301,因此您需要将 -L 添加到那个 curl 命令以遵循重定向:

curl -L https://services.gradle.org/distributions/gradle-2.10-bin.zip