前提

这里讲到的方案,都是基于 Gitlab Runner 的 executor 采用的是 docker。

docker exec -it gitlab-runner gitlab-runner register -n --executor docker

正题

下图就是 gitlab-ci.yml 中的 package 阶段
在这里插入图片描述
在这个阶段中,Gitlab Runner 实际上是启动了一个 Docker Container 来运行 package 阶段,上图中的 image: maven:3.5.4 说明该阶段是以 maven:3.5.4 作为基础镜像,每次构建都是一个全新的 Container,这样就会产生两个问题:

  1. 每次构建都需要重新从 Maven 库中下载依赖的 Jar 包(注:每个 Container 都是独立的、相互之间是隔离的),这会非常耗时。
  2. 每次构建都需要从 docker hub 上拉取依赖的 image(例如:maven:3.5.4),这样也会很耗时。

如果每次 CI/CD 时间都很长,也是一件很崩溃的事儿,所以,如何才能提升构建速度呢?!!!

解决方案

以上2个问题的解决方案都是修改 Gitlab Runner 宿主机上的 /srv/gitlab-runner/config/config.toml 文件,如下图:
在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐