Gitlab中cache和artifacts之间的区别

cahe和artifacts之间的区别

官网上区别:https://docs.gitlab.com/ee/ci/caching/index.html

以下是阅读官网文档后,翻译和总结的:

cache:用来存储项目的dependencies,以使下次跑pipline的时候更快一些
第一次跑pipline的时候下载了外部的依赖了(比如说第三方jar包),这样下次跑pipline时,就不用再从网络上下载了。但是stage之间的中间产物的传递应该用artifacts。

artifacts:用来在stage之间传递stage生成物
同一个pipline里不同的stage之间共享生成物的,在不同的pipline之间不可用。

不同点 cache artifacts
enable方式: 使用cache:显式enable 使用artifacts:显示enable
全局定义: 在最外层定义全局的cache的话所有job就都有这个cache了 不支持全局定义
其他job的使用: 其他job要用cache的话,需要在job里显示配置cache 生成artifacts的job运行完后,后面的job都会下载artifacts,不需要显示配置什么(为了避免不必要的下载,可以用dependencies: []指定不下载任何artifacts)
存储位置(这一点没弄懂?) 存储在runner安装的地方(如果是分布式可以设置为存在S3) 存储在gitlab server
使用方式 不用的pipline之间使用,以使下一次pipline更快 在同一个pipline的不同的stage使用
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容