如何在 Gitlab CI 中缓存 Gradle 依赖项

How to cache Gradle dependencies inside Gitlab CI

我在 Android 项目的 gitlab-ci.yml 文件中添加缓存 属性。

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

但是在每个管道中,当我 运行 ./gradlew assemble 时,它会下载所有 gradle 依赖项,这会导致构建时间变慢。

Gitlab runner不会缓存项目目录外的文件(例如./gradle文件夹),所以你需要缓存项目目录内的所有依赖项。

您可以使用 -g 命令指定 gradle 用户主目录。

例如,您可以调用 ./gradlew -g /cache assemble 将依赖项缓存在 /cache 文件夹中。

我是这样做的

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

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