如何设置GitLab +运行器来缓存Docker层

问题描述 投票:0回答:1

我们有自己的gitlab回购。我们有自己的跑步者。

Hows做了一个设置跑步者和gitlab,以便能够缓存docker层。

以下是.gitlab-ci.yml文件的示例:

before_script:
  - docker version

test:
  stage: test
  script:
    - docker-compose -f docker-compose.yml build my_job
    - docker-compose -f docker-compose.yml down
    - docker-compose -f docker-compose.yml up --remove-orphans --force-recreate --abort-on-container-exit

我一直在努力阅读如何做到这一点,但所有的文档都是如此令人困惑。

https://gitlab.com/gitlab-org/gitlab-ce/issues/17861说:

使用shell执行程序

这是现在最好的执行程序,当你不想缓存docker层时使用它。它基本上不需要任何更改,除了添加gitlab-runner到docker组。

鉴于git fetch,它提供了缓存docker层的最佳可能性。

怎么设置这个?我在文档中的任何地方都找不到这个。

git docker gitlab
1个回答
1
投票

由于您将docker映像构建为CI作业的一部分,因此您很可能已经使用了shell执行程序。只有3种方法可以配置你的gitlab运行器,以支持构建dock工作图像作为CI工作的一部分:https://docs.gitlab.com/ee/ci/docker/using_docker_build.html

本文档还介绍了如何配置shell执行程序以及所有3种配置方式之间的权衡。

基本上唯一不允许缓存docker层的运行器配置是使用docker-in-docker执行器。

使用shell和docker socket绑定总是在托管gitlab runner的VM上本地缓存层,因此不需要进一步配置来启用缓存。

© www.soinside.com 2019 - 2024. All rights reserved.