加快Gitlab CI重用docker机器的速度

加快Gitlab CI重用docker机器的速度,docker,optimization,gitlab,gitlab-ci,gitlab-ci-runner,Docker,Optimization,Gitlab,Gitlab Ci,Gitlab Ci Runner,Gitlab CI每次为每个任务(阶段)提取docker映像。这个操作浪费了很多时间。我想优化,如果可能的话 我看到两个可以合作的地方: 1.显式配置CI阶段以重用相同的docker机器。 2.在构建下一次提交时,是否使用上一次提交中的docker机器?(如果未对配置文件进行任何更改)。这种配置可以通过运行程序本身上的指定 正如Jakub在对问题的评论中强调的那样,在Gitlab.com上的共享跑步者上,策略设置为始终,因此它将始终下载图像的新副本,如果本地也有相同的副本 这是出于安全原因 您可

Gitlab CI每次为每个任务(阶段)提取docker映像。这个操作浪费了很多时间。我想优化,如果可能的话

我看到两个可以合作的地方:
1.显式配置CI阶段以重用相同的docker机器。

2.在构建下一次提交时,是否使用上一次提交中的docker机器?(如果未对配置文件进行任何更改)。

这种配置可以通过运行程序本身上的指定

正如Jakub在对问题的评论中强调的那样,在Gitlab.com上的共享跑步者上,策略设置为
始终
,因此它将始终下载图像的新副本,如果本地也有相同的副本

这是出于安全原因

您可以在表格中确认这一点

如果您的跑步者是公开的,则应使用此拉动策略 并在GitLab实例中配置为共享运行程序。它是 仅当运行程序将 可与私人图像一起使用


安全含义是,如果运行者首先检查本地图像,未经授权的用户可能会猜测其名称而获得一个私有docker图像

除非图像已更改,否则不应每次提取图像。您是如何配置运行程序的?只能通过配置文件.gitlab ci.yml来配置管道,而不是运行程序。您使用的是gitlab.com提供的共享运行程序吗?是的,都是默认的。那么,在这种情况下,您应该设置自己的运行程序。它将保留图像,而且如果gitlab的服务器上有高负载,您的作业也不必排队。