gitlab runner .gitlab-ci.yml 中的cache 和 artifacts 的区别
cache
cache 关键字使用来做缓存的。作业可以在cache 中缓存一个或者是多个文件之后可以下载,目的是使用 相同缓存的后续作业可以不用再次下载文件。所以整个cicd 过程可以执行的更快。
使用场景:主要是用来缓存 比如 java maven 项目中的依赖项。
特点:
cache使用的路径只能是项目文件的相对路径。- 在运行下一个Job的时候,会默认把前一个Job新增的资源删除得干干静静。
- cache 缓存生成的文件会在本地 runner 中的 /cache 目录中。不需要像 artifacts 一样将文件上传到gitlab中提供网页端下载缓存文件。
使用效果

cache 特别需要注意的地方
gitlab runner 有个点是需要注意的。如下图所示每个节点产生的文件都会被删除掉。

所以可以使用cache 来存储各个环节所产生的文件。并且只存储与runner中不会上传到gitlab 服务器,所以效率上会比artifacts 会好很多。
Artifacts
- 主要的区别于cache可以提供网页下载我们打好的包。支持对这个包的

本文详细介绍了 GitLab CI/CD 中 `cache` 和 `artifacts` 的区别,并通过一个 springboot+docker 项目实例展示了它们的使用。`cache` 主要用于缓存项目依赖,提升构建速度,如 Maven 的本地仓库,而 `artifacts` 则用于上传构建结果供下载或部署,如 Docker 镜像。在实践中,`cache` 存储在本地 runner,不增加网络负担,而 `artifacts` 会上传到 GitLab 服务器并可长期保存。
1万+

被折叠的 条评论
为什么被折叠?



