在 circleCI 配置中,哪个应该是第一个,保存缓存还是恢复缓存?
Posted
技术标签:
【中文标题】在 circleCI 配置中,哪个应该是第一个,保存缓存还是恢复缓存?【英文标题】:In circleCI config which one should be first, save-cache or restore-cache? 【发布时间】:2020-10-02 12:09:09 【问题描述】:我是circleci的新手。如果我对这个概念的理解有误,请纠正我。
我正在浏览文档。在文档here 中,它说
根据一个键恢复之前保存的缓存
是不是说,save-cache
,在restore-cache
之前?
在几个示例配置文件中,restore-cache
写在save-cache
之前。赞here
【问题讨论】:
【参考方案1】:Previously saved cache
表示之前构建的已保存缓存。
所以你需要在save-cache
之前写restore-cache
,如果依赖没有变化就不需要重新安装。
例如:
第一次构建:依赖项 A 和 B -> 安装 -> 保存到 cache-1
2nd Build:依赖 A 和 B(无变化)-> 使用 cache-1(无需安装)
第 3 次构建:依赖项 A、B 和 C -> 安装 -> 保存到 cache-2
【讨论】:
如果我没记错的话,如果先写save-cache,如果已经有同一个key的缓存就不会创建新的缓存了。 是的,在这种情况下它不会创建新的缓存,但是先写入save-cache,然后在第一次构建时,会缓存什么?因为那个时候依赖还没有安装。 好的。那么反之亦然,即先写restore-cache,会恢复什么? 反之亦然,在第一个版本中,因为没有缓存,所以什么都没有恢复,但从第二个版本开始,以前版本保存的缓存被恢复以上是关于在 circleCI 配置中,哪个应该是第一个,保存缓存还是恢复缓存?的主要内容,如果未能解决你的问题,请参考以下文章
在 CircleCi 中从 Spring Boot 访问 PostgreSQL 9.6
为啥 Angular 8 CircleCI 构建在执行 ng test --watch-false 时失败,业力配置为 singleRun=true?