0
点赞
收藏
分享

微信扫一扫

Gitlab Cache 原理


Gitlab cache 机制可以大大加快 CI/CD Job 的执行速度。基础知识可以参看 ​​Gitlab Cache​​。下面直接总结在 Kubernetes 环境中的三种 Cache 的解决方案。

第一种,Distributed runners caching,gitlab runner job执行前从分布式存储中检查下载解压 cache 文件,job执行后,压缩上传 cache 文件到分布式存储。这是 gitlab 提供的通用的正宗的方法,在非 Kubernetes 环境中也可以使用;
第二种,给 Job Executor Pod 挂载同一个 volume。gitlab runner 提供了本地存储 cache 的方式,如果远程存储没有配置,gitlab runner 照样会压缩 cache 文件,然后按照目录规则存储到指定的目录。这种方式的原理是将此目录配置为 Kubernetes Volume,每个 Job 执行时都挂载此 Volume ,这样就相当于所有的 Job 有了一个集中式的存储。可以参考 ​​​使用GitLab CI在Kubernetes服务上运行GitLab Runner并执行Pipeline​​​ 尝试配置。
第三种,这种是不使用缓存,在 Kubernetes 集群中安装各类仓库的私服,Gitlab CI/CI Job 执行时,配置为使用这些私服,速度也很快。

参考

  1. ​​Gitlab Cache​​
  2. ​​使用GitLab CI在Kubernetes服务上运行GitLab Runner并执行Pipeline​​
  3. ​​Distributed runners caching​​


举报

相关推荐

0 条评论