【问题标题】:Configure cache on GitLab runner在 GitLab 运行器上配置缓存
【发布时间】: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仓库没有缓存...

因此,我有两个问题:

  1. 如何知道 gitlab-runner 是否真的接受了我的 config.yml?
  2. 什么是正确的缓存配置?

提前致谢!

【问题讨论】:

  • 这是一个很好的线程,解释了 maven stackoverflow.com/questions/37785154/… 的缓存配置
  • 我得到的错误是:level=warning msg="Cache config not defined. Skipping cache operation." 但是缓存确实存储到本地文件夹。版本:GitLab Community Edition 14.5.2.

标签: gitlab-ci-runner


【解决方案1】:

我刚才遇到了同样的问题。我不确定您使用的是哪个版本的 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 = ...

【讨论】:

  • 所以当我做对了...您需要 S3 或 GCS 存储来制作持久的共享/私有云缓存...如果两者都没有,缓存仅在容器中本地。正确的?那么我可以删除“runner.cache”部分以避免“错误:无法创建缓存适配器”吗?
  • 是的,据我所知。您可以启动本地 Minio S3 兼容服务器并将其用作 S3 缓存,而不是使用 AWS 或 GCS。这样所有缓存都保留在您的服务器上。
猜你喜欢
  • 1970-01-01
  • 2020-03-12
  • 1970-01-01
  • 2022-11-08
  • 2020-10-27
  • 2021-07-02
  • 2021-11-19
  • 2021-06-06
  • 2016-10-13
相关资源
最近更新 更多