我无法配置缓存目录,但是以某种方式无法使用。我什至不确定它是否需要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,但是版本12支持S3兼容存储或GCS作为缓存提供程序(see thes docs),但没有像cache_dir = /tmp/gitlab-runner-cache
这样的本地缓存文件夹。
我遇到的问题是,我忘记将Type = "s3"
添加到Runner配置的[runners.cache]
部分:
[runners.cache]
Type = "s3"
Shared = true
[runners.cache.s3]
ServerAddress = ...