ios - CircleCI for iOS - 缓存 cocoapods 依赖项
问题描述
我正在尝试使用fastlane scan
. 运行测试效果很好,但是通过安装来自 cocoapods 的依赖项,总时间增加了很多。
我尝试通过执行以下操作来缓存 Pods 目录,但是,校验和在restore_cache
step 和save_cache
step 之间发生了变化:
- 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 install
即使没有任何 pod 发生变化,也会导致校验和发生变化。因此,它保存在缓存中的键永远不会与试图从缓存中恢复的内容对齐。
有一个更好的方法吗?
解决方案
是的,有一种方法可以使这项工作。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
推荐阅读
- haskell - 应用函子方面的一元序列
- python - 如何将多个数据框附加到带有标题的空 DataFrame
- python - Python:将参数传递给函数的两种不同方式
- javascript - 管理 Firebase 用户集合和最佳实践
- c - C - 在这里调用 getcwd 会导致错误吗?
- android - Flutter 可以检测到悬停的手写笔吗?
- crystal-lang - 水晶语言:第一个参数延迟是秒还是毫秒?
- matplotlib - 如何在没有数据集的情况下在 Matplotlib 中绘制箱线图?
- python - 在 Python 中获取 Log Mel 谱图
- c - 需要帮助压缩 C 中的嵌套 if 语句