怎么打开电脑运行程序:在GitLab运行程序上配置缓存

我没有设法配置缓存目录,但不知何故它不起作用。

我的 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
  MEN_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 s 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?

什么是缓存的正确配置?

提前谢谢!

6

我不确定您使用的是哪个版本的 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 = ...
0

我有同样的错误(“缓存工厂未找到”),问题是cache_dir的值不包含在[runners.docker]/volumes配置。

Thedocaboutcache_dirsays:

如果使用 docker 执行器,则此目录需要包含在其 volumes 参数中。

在将路径添加到volumes之后,缓存在没有 S3 或其他分布式缓存的情况下工作。

以下是工作/etc/gitlab-runner/config.toml的相关部分:

[[runners]]
  executor = "docker"
  cache_dir = "/me/gitlab-runner/cache"
  [runners.docker]
    volumes = ["/cache", "/me/gitlab-runner/cache"]

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(377)
Github进不去:将GithubEnterprise迁移到 GitHub
上一篇
Linux中重定向:重定向 vs重定向匹配(redirectmatch apache)
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(32条)