当我在GitLab中运行一个全新的git仓库,只有
我认为可能的问题是Windows上的Docker镜像往往非常大。我在这里测试的镜像大小为5.8 GB。当我在服务器上手动启动容器时,它只需要几秒钟就能启动。我还测试了一个更大的镜像,36 GB,但使用该镜像的作业也需要大约33秒。
由于这些作业什么都不做,也没有进行任何git克隆或子模块操作,那到底是什么导致了这么长时间?
我知道GitLab使用神秘的辅助镜像来克隆git仓库和其他类似的操作。这个辅助镜像可能会导致运行变得特别慢吗?
更新2019-11-04
我使用docker events进一步研究了一下。它显示GitLab总共启动了7个容器,其中6个是他们自己的辅助镜像,另一个是我在.gitlab-ci.yml中定义的镜像。每个docker容器需要大约5秒钟才能创建、运行和销毁,因此这解释了时间。现在唯一的问题是,这是否是
README.md
和.gitlab-ci.yml
文件,并使用标准的shell
执行器时,整个作业只需4秒钟。但当我使用docker-windows执行器时,需要33秒钟!我的.gitlab-ci.yml
如下:no_git_nor_submodules:
image: base_on_python36:ltsc2019
stage: build
tags:
- docker-windows
variables:
GIT_SUBMODULE_STRATEGY: none
GIT_STRATEGY: none
script:
- echo test
no_docker_no_git_nor_submodules:
stage: build
tags:
- normal_runner
variables:
GIT_SUBMODULE_STRATEGY: none
GIT_STRATEGY: none
script:
- echo test
我认为可能的问题是Windows上的Docker镜像往往非常大。我在这里测试的镜像大小为5.8 GB。当我在服务器上手动启动容器时,它只需要几秒钟就能启动。我还测试了一个更大的镜像,36 GB,但使用该镜像的作业也需要大约33秒。
由于这些作业什么都不做,也没有进行任何git克隆或子模块操作,那到底是什么导致了这么长时间?
我知道GitLab使用神秘的辅助镜像来克隆git仓库和其他类似的操作。这个辅助镜像可能会导致运行变得特别慢吗?
更新2019-11-04
我使用docker events进一步研究了一下。它显示GitLab总共启动了7个容器,其中6个是他们自己的辅助镜像,另一个是我在.gitlab-ci.yml中定义的镜像。每个docker容器需要大约5秒钟才能创建、运行和销毁,因此这解释了时间。现在唯一的问题是,这是否是
docker-windows
执行程序的正常行为,还是我设置有误导致运行非常缓慢。