gpt4 book ai didi

java - Gradle 缓存不适用于 GitLab-CI

转载 作者:太空宇宙 更新时间:2023-11-04 10:09:10 26 4
gpt4 key购买 nike

我正在尝试使用缓存机制,但它不起作用,我尝试了不同的尝试,但它们似乎都不适合我。列出的任务在我的机器上大约需要 75 秒,在 gitlab ci 上大约需要 5-6 分钟,其中运行程序在每个管道中再次下载依赖项。

问题是如何使用 gitlab ci 缓存下载的 deps?

image: dockerregistry.my-image:1.0.0
variables:
GIT_SUBMODULE_STRATEGY: normal
GRADLE_USER_HOME: $CI_PROJECT_DIR/.gradle

cache:
paths:
- .gradle/wrapper
- .gradle/caches

before_script:
- echo `pwd`
- echo `$CI_PROJECT_DIR`
- rm -f .gradle/caches/modules-2/modules-2.lock
- rm -fr .gradle/caches/*/plugin-resolution/

build:
stage: build
script:
- ./gradlew assemble

junit:
stage: test
script:
- ./gradlew test

谢谢

更新

执行者:Kubernetes
Gitlab 版本:11.0.x

Submodule path 'my-other-application': checked out 'fxxxx1'
Checking cache for default...
Successfully extracted cache

.........

Running after script...
$ echo "End CI"
End CI
Creating cache default...
.gradle/wrapper: found 222 matching files
.gradle/caches: found 8474 matching files


最佳答案

我正在使用 docker 执行器,并且正在工作:

before_script:
- export GRADLE_USER_HOME=`pwd`/.gradle

使用 docker,缓存存储在容器中,因此,如果我运行诸如 docker system prune 之类的内容并清除未运行的容器,缓存就会丢失。

我不知道 Kubernetes 是如何工作的,也许容器在执行结束时被删除。

-> https://gitlab.com/gitlab-org/gitlab-runner/issues/1906

关于java - Gradle 缓存不适用于 GitLab-CI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52544210/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com