Gradle Cache Action 使用教程

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 在实际项目中的应用效果和最佳实践。

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

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

抵扣说明:

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

余额充值