簡體   English   中英

Gradle緩存不適用於GitLab-CI

[英]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是如何工作的,也許容器在執行結束時被刪除了。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM