我正在使用 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 并将最新的缓存推送回谷歌存储。
- 减少构建时间。(本地构建时间 ~= 云构建时间)