0

我正在使用 Gradle 构建工具为 Java 应用程序创建触发器。Gradle 提供了出色的缓存支持来加快进程。

来到谷歌云构建(GCB)。在 GCB where do 中,.gradle 目录位于。

目前,我正在做

steps:
  - name: gcr.io/cloud-builders/gsutil
    args:
      - '-c'
      - >
        gsutil cp
        gs://<chache_bucket>/cache/$TRIGGER_NAME/gradle-dependencies.tgz
        gradle-dependencies.tgz || exit 0

        tar -zxf gradle-dependencies.tgz --directory / || exit 0
    id: download-cached-maven-dependencies
    entrypoint: bash
    volumes:
      - name: gradle-vol
        path: /root/.gradle
  - name: 'gradle:7.2.0-jdk11'
    args:
      - publish
    dir: microservices/dapr/
    id: publish artifacts
    entrypoint: gradle
    volumes:
      - name: gradle-vol
        path: /root/.gradle
  - name: gcr.io/cloud-builders/gsutil
    args:
      - '-c'
      - >
        tar -zcf gradle-dependencies.tgz /root/.gradle

        gsutil cp gradle-dependencies.tgz
        gs://<chache_bucket>/cache/$TRIGGER_NAME/gradle-dependencies.tgz        
    id: upload-cached-gradle-dependencies
    waitFor:
      - publish artifacts
    entrypoint: bash
    volumes:
      - name: gradle-vol
        path: /root/.gradle


有什么方法可以在 GCB 中实现 Gradle 智能构建?

我想要达到的目标是:

  • 从谷歌存储中提取缓存
  • 从缓存构建 jar
  • tar 并将最新的缓存推送回谷歌存储。
  • 减少构建时间。(本地构建时间 ~= 云构建时间)
4

0 回答 0