[英]Gradle caching doesn't work with GitLab-CI
我正在嘗試使用緩存機制,但是它不起作用,我嘗試了不同的嘗試,但是它們似乎都不適合我。 列出的任務在我的機器上和gitlab ci上大約需要75秒,大約需要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 executor並正在工作:
before_script:
- export GRADLE_USER_HOME=`pwd`/.gradle
使用docker時,緩存存儲在容器中,因此,如果我運行類似docker system prune
類的東西並清除未運行的容器,則緩存會丟失。
我不知道Kubernetes是如何工作的,也許容器在執行結束時被刪除了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.