加快Gitlab CI重用docker机器的阶段

kyb*_*kyb 5 optimization gitlab docker gitlab-ci gitlab-ci-runner

Gitlab CI每次为每个任务(阶段)提取docker镜像.这个操作浪费了很多时间.我希望尽可能优化.

我看到两个可以使用的地方:
1.显式配置CI阶段以重用相同的docker机器.
2.在构建下一次提交时使用之前提交的docker机器?(如果配置文件中没有更改).

rpa*_*ani 4

这种配置可以通过运行器本身的pull_policy来指定。

正如 Jakub 在该问题的评论中强调的那样,在 Gitlab.com 上的共享运行器上,策略设置为always,因此它总是会下载图像的新副本,即使本地有相同的副本也是如此。

这是出于安全原因。

您可以在文档中对此进行确认。

如果您的 Runner 是公开可用的并且在 GitLab 实例中配置为共享 Runner,则应使用此拉取策略。当 Runner 与私有镜像一起使用时,这是唯一可以被视为安全的拉取策略。

安全含义是,如果运行程序首先检查本地映像,则非授权用户可以通过猜测其名称来获取私有 docker 映像