【发布时间】:2020-11-12 13:22:29
【问题描述】:
我有一个gitlab 跑步者使用docker 作为执行者。我的问题是,它会提取我为每个作业定义的图像,这需要更多时间来完成管道
如何缓存图像并为job 或runner 添加拉动policy?请问有人吗?
【问题讨论】:
我有一个gitlab 跑步者使用docker 作为执行者。我的问题是,它会提取我为每个作业定义的图像,这需要更多时间来完成管道
如何缓存图像并为job 或runner 添加拉动policy?请问有人吗?
【问题讨论】:
将[[runners]] [runners.docker] pull_policy = "if-not-present" 添加到 config.toml。
工作原理:https://docs.gitlab.com/runner/executors/docker.html#how-pull-policies-work
config.toml:https://docs.gitlab.com/runner/configuration/advanced-configuration.html
【讨论】:
检查最新的GitLab 13.8(2021 年 1 月)是否有帮助。
为 Docker 执行器配置多个镜像拉取策略
当您的 CI 作业从容器注册表检索容器映像时,丢失的网络连接可能会导致数小时的开发时间损失,并对时间敏感的产品部署产生负面影响。
为了解决这个弹性问题,GitLab Runner Docker 执行程序现在支持为
pull_policy配置使用多个值,该配置在 GitLab Runnerconfig.toml文件中定义。您可以使用这些值或堆叠的图像拉取策略来配置拉取策略的组合并减轻连接中断造成的影响。
例如配置
pull_policy =[always, if-not-present],拉取策略会always拉取镜像。
但是,如果目标容器注册表不可用,GitLab Runner Docker 执行程序将回退并使用if-not-present策略,这意味着该管道作业将使用映像的本地副本。参见Documentation 和Issue。
【讨论】:
【讨论】:
.gitlab-ci.yml 中的语法应该如何?
pull_policy 的位置。他们没有提到在哪里。刚刚说了image和service,但不知道怎么正确表达
/var/lib/docker/volumes/gitlab-runner-config/_data/ 更新[runners.docker] 部分