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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章