如何在 GitHub 工作流程中重用 gradle 缓存

jac*_*ses 8 gradle github-actions

我试图将 gradle 缓存保留在我的 GitHub 工作流程中,但它不起作用。我是 gradle 新手,正在努力找出如何/为什么无法在项目的工作流程构建之间保留 gradle 缓存

在我的 GitHub工作流程文件中,我有两个 gradle 缓存。一个是 gradle 缓存,另一个是 gradle 包装器:

      - name: Setup Gradle Dependencies Cache
        uses: actions/cache@v2
        with:
          path: ~/.gradle/caches
          key: ${{ runner.os }}-gradle-caches-${{ hashFiles('**/*.gradle', '**/*.gradle.kts') }}
      - name: Setup Gradle Wrapper Cache
        uses: actions/cache@v2
        with:
          path: ~/.gradle/wrapper
          key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}
Run Code Online (Sandbox Code Playgroud)

本地 a./gradlew clean后跟 a./gradlew build将在大约 33 秒内构建我的项目...在 GitHub 上,需要 3 倍的时间(?):https://github.com/jactor-rises/jactor-persistence/runs/4794532441 ?check_suite_focus =真

如何在 GitHub 工作流程中设置有效的依赖项和包装器缓存?

jac*_*ses 21

不要手动配置 gradle 缓存,而是使用提供的操作。现在从我的工作流程文件:

      - uses: actions/setup-java@v2
        with:
          distribution: temurin
          java-version: 17
          cache: gradle

Run Code Online (Sandbox Code Playgroud)

-actionsetup-java将为 gradle 和 maven 缓存,因此无需手动设置缓存...

  • 你真的检查过这个吗?它总是说“未找到 gradle 缓存” (4认同)