我正在尝试使用 faSTLane scan
在 CircleCI 中运行我的 iOS 测试套件。运行测试效果很好,但是通过从 cocoapods 安装依赖项,总时间增加了很多。
我尝试通过执行以下操作来缓存 Pods 目录,但是,校验和在 restore_cache
步骤和 save_cache
步骤之间发生变化:
- restore_cache:
key: 1-pods-{{ checksum "Podfile.lock" }}
- run:
name: Install Pods
command: pod install
- save_cache:
key: 1-pods-{{ checksum "Podfile.lock" }}
paths:
- ./Pods
本质上,即使没有任何 pod 发生变化,pod install
也会导致校验和发生变化。因此,它保存在缓存中的 key 永远不会与试图从缓存中恢复的 key 对齐。
有更好的方法吗?
最佳答案
是的,有一种方法可以做到这一点。 restore_cache
接受键前缀 ( https://circleci.com/docs/2.0/configuration-reference/#restore_cache )。因此,要回退到较早的缓存,您可以使用如下内容:
- restore_cache:
keys:
- 1-pods-{{ checksum "Podfile.lock" }}
- 1-pods-
这里有一些更具体的指南:https://circleci.com/docs/2.0/ios-migrating-from-1-2/#installing-cocoapods
关于ios - CircleCI for iOS - 缓存 cocoapods 依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54338406/