【发布时间】:2019-07-15 17:32:17
【问题描述】:
我没有设法配置缓存目录,但不知何故它不起作用。我什至不确定它是否需要 config.toml 文件。
我的 config.toml:
concurrent = 1
check_interval = 0
[session_server]
session_timeout = 1800
[[runners]]
cache_dir = /tmp/gitlab-runner-cache
... 在 /etc/gitlab-runner/config.toml 和 ~/.gitlab-runner/config.toml 中
我的 .gitlab-ci.yml:
image: docker:latest
services:
- docker:dind
cache:
key: "myCache"
paths:
- ${CI_PROJECT_DIR]/.m2/
variables:
DOCKER_DRIVER: overlay
MAVEN_OPTS: -Dmaven.repo.local=${CI_PROJECT_DIR}/.m2
stages:
- build
- acceptance
maven-build:
image: maven:3.3-jdk-8
stage: build
script: "mvn clean package"
artifacts:
paths:
- target/*.jar
maven-acceptance:
dependencies:
- maven-build
image: maven:3.3-jdk-8
stage: acceptance
script: "mvn verify"
当我尝试时: gitlab-runner exec shell maven-build
我得到错误:
ERROR: Could not create cache adapter error=cache factory not found: factory for cache adapter "" was not registered
构建成功,但是.m2仓库没有缓存...
因此,我有两个问题:
- 如何知道 gitlab-runner 是否真的接受了我的 config.yml?
- 什么是正确的缓存配置?
提前致谢!
【问题讨论】:
-
这是一个很好的线程,解释了 maven stackoverflow.com/questions/37785154/… 的缓存配置
-
我得到的错误是:
level=warning msg="Cache config not defined. Skipping cache operation."但是缓存确实存储到本地文件夹。版本:GitLab Community Edition 14.5.2.
标签: gitlab-ci-runner