首页 > 解决方案 > 我的 Gitlab CI/CD 管道在缓存中失败并出现 FATAL:文件不存在错误

问题描述

现在我正在尝试用 Gradle 学习 CI/CD。我正在使用 GitLab CI 的管道。通过 Gitlab 文档和一点点搜索发现 gilab-ci.yml 像这样

image: gradle:jdk11

before_script:
  - export GRADLE_USER_HOME='pwd'/.gradle

cache:
  paths:
    - .gradle/wrapper
    - .gradle/caches

package:
  stage: build
  script:
    - ./gradlew assemble

test:
  stage: test
  script:
    - ./gradlew check

但是它不适用于我的 Spring 启动应用程序 Gitlab pipline 给我“致命:文件不存在”错误。我认为这是由于缓存造成的,但 YAML 文件中的一切似乎都很好

标签: gradlecontinuous-integrationgitlabyamlgitlab-ci

解决方案


即使“致命:文件不存在”是红色和粗体,它并没有使构建失败,而只是一个警告。失败的实际原因是以下几行/bin/bash: line 104: ./gradlew: Permission denied

要解决此问题,请使用以下代码段更新构建阶段:

package:
 stage: build
 script:
  - chmod +x ./gradlew
  - ./gradlew --build-cache assemble

推荐阅读