如何设置GitLab +运行器来缓存Docker层
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何设置GitLab +运行器来缓存Docker层相关的知识,希望对你有一定的参考价值。
我们有自己的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层的最佳可能性。
怎么设置这个?我在文档中的任何地方都找不到这个。
由于您将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上本地缓存层,因此不需要进一步配置来启用缓存。
以上是关于如何设置GitLab +运行器来缓存Docker层的主要内容,如果未能解决你的问题,请参考以下文章
如何正确设置环境变量 Gitlab CI/CD 和 Docker
如何使用多个 docker 设置 Gitlab CI E2E 测试