我有一个 GitLab 运行程序用作执行docker程序。我的问题是,它提取我为每个作业定义的图像,这需要更多时间来完成管道
如何缓存图像并添加policy或job的拉取runner?请问有人吗?
Von*_*onC 15
检查最新的GitLab 13.8(2021 年 1 月)是否可以提供帮助。
\n\n\n为Docker执行器配置多个镜像拉取策略
\n当您的 CI 作业从容器注册表检索容器映像时,网络连接丢失可能会导致数小时的开发时间损失,并对时间敏感的产品部署产生负面影响。
\n为了解决这个弹性问题,GitLab Runner Docker 执行器现在支持使用多个值进行配置
\npull_policy,这些值在 GitLab Runner 文件中定义config.toml。您可以使用这些值或堆叠映像拉取策略来配置拉取策略组合并减轻连接丢失造成的影响。
\n例如,如果配置
\n\n\npull_policy =[always, if-not-present],拉取策略将always拉取镜像。
\n但是,如果目标容器注册表不可用,GitLab Runner Docker 执行程序将回退并使用该if-not-present策略,这意味着该映像的本地副本将用于该管道作业。
GitLab 15.2(2022 年 7 月)添加了:
\n\n\n在管道配置中设置镜像拉取策略
\n您可以为 GitLab Runner 如何在 CI/CD 作业中下载 Docker 镜像选择不同的拉取策略。
\n\n
\n- \n
always(默认行为)确保图像始终被下载,- \n
if-not-present仅当本地版本不存在时才下载镜像,并且- \n
never仅使用本地版本(从不下载图像)。以前,您只能在运行程序级别定义拉取策略。在此版本中,我们\xe2\x80\x99添加了在管道级别定义拉取策略的功能。用于
\n\n\npull_policy在.gitlab-ci.yml作业或管道级别定义不同的拉取策略。共享运行器不支持此功能。
小智 5
添加[[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
| 归档时间: |
|
| 查看次数: |
37913 次 |
| 最近记录: |