Carthageのcacheを実現して、CircleCIを10分早くする!
Why
iOSのビルド&テストにCircleCIを使用していますが、毎回carthage bootstrap
をしていると、それだけでも10分くらい食います。CIが遅いと不便なので、このボトルネックを解消しようと思いました。
実装方法
Carthageを更新するべき時だけ更新する
Cartfile.resolved
に変更があった場合だけ、carthage bootstrap
を走らせます。
script/install
#!/bin/bash
bundle install --path=vendor/bundle
if ! diff Cartfile.resolved Carthage/Cartfile.resolved &>/dev/null; then
carthage bootstrap
cp Cartfile.resolved Carthage
fi
Cartfile.resolved
に変更があったかどうかを知るために、git管理外でCarthage/Cartfile.resolved
を保持しておきます。
.gitignore
# Carthage
Carthage/Checkouts
Carthage/Build
Carthage/Cartfile.resolved
CircleCIの設定
用意したscriptを使います。
また、cache_directories
でCarthageを持っておくのがポイントです。
circle.yml
dependencies:
override:
- . script/install
cache_directories:
- "Carthage"
参考
ほぼこれに近いです
https://robots.thoughtbot.com/caching-carthage-con-circleci
Author And Source
この問題について(Carthageのcacheを実現して、CircleCIを10分早くする!), 我々は、より多くの情報をここで見つけました https://qiita.com/yoshimikeisui/items/630df90fd1022db8faac著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .