Gradle Cache Action 使用教程

Gradle Cache Action 使用教程

gradle-cache-action GitHub Action to properly cache ~/.gradle folder gradle-cache-action 项目地址: https://gitcode.com/gh_mirrors/gr/gradle-cache-action

1. 项目介绍

Gradle Cache Action 是一个用于在 GitHub Actions 中缓存 Gradle 缓存的 GitHub Action。它通过自定义的缓存机制,优化了 Gradle 构建过程,减少了构建时间,并节省了缓存空间。该项目的主要改进包括:

  • Gradle 远程构建缓存后端:仅从 GitHub 缓存中拉取所需的条目。
  • 支持多远程缓存:通过 gradle-multi-cache 支持多个远程缓存(例如 GitHub Actions + S3)。
  • 简化配置:只需指定 Action 名称和 Gradle 命令即可满足大多数情况。
  • 减少空间使用:GitHub 默认限制缓存空间为 5GiB,该 Action 通过优化缓存机制减少了空间使用。
  • 构建扫描链接:在构建结果中添加构建扫描链接。
  • 构建失败标记:在提交差异视图中添加构建失败标记(例如 compileJavacompileKotlin 标记)。

2. 项目快速启动

2.1 添加到现有工作流

将以下代码添加到你的工作流文件(位于 .github/workflows 目录下):

- uses: burrunan/gradle-cache-action@v1
  name: Build PROJECT_NAME
  env:
    VARIABLE: VALUE
  with:
    job-id: jdk8
    arguments: build
    gradle-version: wrapper
    properties: |
      kotlin.js.compiler=ir
      kotlin.parallel.tasks.in.project=true

2.2 配置说明

  • job-id:用于区分不同作业的缓存,例如不同 JDK 版本的作业不能共享缓存。
  • arguments:指定 Gradle 执行的参数,例如 build
  • gradle-version:指定 Gradle 版本,默认为 wrapper
  • properties:传递给 Gradle 的属性,例如 kotlin.js.compiler=ir

3. 应用案例和最佳实践

3.1 启用本地构建缓存

settings.gradle.kts 中启用本地构建缓存:

val isCiServer = System.getenv().containsKey("CI")

buildCache {
    local {
        isEnabled = !isCiServer
    }
}

3.2 添加远程缓存

通过 gradle-multi-cache 添加多个远程缓存,例如 GitHub Actions 和 S3:

- uses: burrunan/gradle-cache-action@v1
  with:
    remote-build-cache-proxy-enabled: true
    remote-build-cache-url: s3://your-bucket/path

4. 典型生态项目

以下是一些已集成 Gradle Cache Action 的开源项目:

通过这些案例,可以看到 Gradle Cache Action 在实际项目中的应用效果和最佳实践。

gradle-cache-action GitHub Action to properly cache ~/.gradle folder gradle-cache-action 项目地址: https://gitcode.com/gh_mirrors/gr/gradle-cache-action

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

顾涓轶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值