Carthage を使用しているプロジェクトでの Travis CI
Carthage を使用しているプロジェクトでの Travis CI
前回 Circle CI を設定してみたが、Cache の考え方おんなじじゃね? Travis CI でも使えんじゃね?と思ったので試してみた。
Travis CI
こちらはCircle CI と違って OSS なら無料で使用できる。GitHub の Public リポジトリなら料金がかからない。
ちょっと前まで OSS で使うなら travis.org、有償版は travis.com と使い分けが必要だったが、どちらも travis.com に 統合された模様。
ここ から Open Source を選べば良い。
.travis.yml
前回の Circle CI 設定時に作成したスクリプトをこちらでも使用する。
bootstrap
#!/bin/sh carthage bootstrap --platform iOS --no-use-binaries cp Cartfile.resolved Carthage
bootstrap-if-needed
#!/bin/sh if ! cmp -s Cartfile.resolved Carthage/Cartfile.resolved; then bin/bootstrap fi
YAMLのcacheにdirectoriesを指定してやると、キャッシュしてくれる。上記スクリプトを実行することで、Cartfile.resolved に変更がない限りはその後の実行時にはキャッシュを使用してくれる。
osx_image: xcode9.3 language: objective-c cache: directories: - Pods - Carthage before_install: - bin/bootstrap-if-needed script: - fastlane action swiftlint - fastlane scan --project "RxSwiftRailsTutorial.xcodeproj" --scheme "RxSwiftRailsTutorial" -- device "iPhone X" --clean
15分ぐらいかかっていたのが2、3分に短縮できた。