我正在尝试使用缓存机制,但是它不起作用,我尝试了不同的尝试,但是它们似乎都不适合我。列出的任务在我的机器上和gitlab ci上大约需要75秒,大约需要5-6分钟,在此情况下,运行程序将再次在每个管道中下载依赖项。
问题是如何使用gitlab ci缓存下载的dep?
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
答案 0 :(得分:0)
我正在与此同时使用docker executor,并且正在工作:
\)
使用docker时,缓存存储在容器中,因此,如果我运行类似from selenium import webdriver
options = webdriver.ChromeOptions()
options.headless = True
driver = webdriver.Chrome(executable_path="C:/Users/Admin/Documents/chromedriver_win32/chromedriver", options=options)
的东西并清除未运行的容器,则缓存会丢失。
我不知道Kubernetes的工作方式,也许容器在执行结束时被删除。