この記事は株式会社TimeTree Advent Calendar 2025の10日目の記事です。
こんにちは。iOSエンジニアのkoogawaです。
TimeTreeではCIサービスとして、一部Bitriseを利用しています。最近、iOSアプリのビルド時間がかなり長くなるケースがちらほら出てくるようになっており、開発効率の面で課題を感じていました。
そんな中、Xcode 26からビルド時間を短縮できるBitrise Build Cacheという機能が使えることを知りました。ちょうどトライアルプランも提供されていたため、さっそく試してみることに。
この記事ではBitrise Build Cacheの導入手順と、導入後にビルド時間がどう変化したかを紹介します。
Bitrise Build Cacheとは
Bitrise Build Cacheは、ビルドとテストの時間を最大90%短縮できるフルマネージド型のリモートキャッシュソリューションです。Bazel、Gradle、Xcodeに対応しており、Bitrise CIとネイティブに統合されているだけでなく、他のCIプラットフォームでも利用可能です。
特にXcodeプロジェクトにおいては、コンパイル済みのバイナリファイルをキャッシュして再利用することで、CI/CDパイプラインを効率的に高速化できます。
導入手順
Bitrise Build Cacheの導入は非常にシンプルです。以下の手順で設定できます。
前提条件
まず、ビルドがXcode 26以上のバージョンがインストールされたスタック上で実行されていることを確認してください。
設定方法
- Bitriseにログインし、左側のBitrise CIを選択してプロジェクトを開きます
- メインページのWorkflowsボタンをクリックします
- ワークフローにBuild Cache for Xcode Stepを追加します
- このStepは、Xcodeタスクを実行するStep(例:fastlaneやXcode Archive & Export for iOS)の前に配置する必要があります
- (オプション)キャッシュの読み取り専用モードにしたい場合は、
Push new cache entriesをfalseに設定します- この設定により、ビルドはキャッシュから読み取りのみを行い、更新はしません
- Save changesをクリックします
たったこれだけです。Stepを追加すれば、Xcodeタスクは自動的にビルドキャッシュから読み取り、新しいエントリもプッシュするようになります。
どう変わったか
実際に導入してみた結果、ビルド時間に改善が見られました。
Build Cache導入後のビルド時間
導入以降、ビルド時間は30分以内に収まるようになり、以前の20〜35分台と比べて全体的に短縮されました。
観測できた正常ビルドを分析したところ:
- 平均ビルド時間: 約23.8分
- 中央値: 約22.7分
導入前は平均29分前後だったため、約5〜6分(17%)の短縮効果が確認できました。
どういう仕組みなのか
では、なぜこのような高速化が実現できるのでしょうか。
iOSアプリをビルドする際、xcodebuildツールがコードのコンパイル、リンク、署名を行います。クラスをコンパイルすると、バイナリファイルが生成され、それらがリンクおよび署名されます。
Xcode 26以降では、これらのバイナリファイルが小さなバイナリで構成されるようになり、これらをビルド間で永続化して再利用できるようになりました。Bitrise Xcode Cacheは、これらのファイルをアップロードし、ビルド時にバックエンドを通じて個別にリクエストします。
多くの場合、ファイルを再コンパイルするよりも、プリコンパイル済みファイルをダウンロードする方がはるかに高速です。ワークフローがクローンとビルドで構成されており、コンパイルに時間がかかる複数のクラスがある場合、同じビルドを再実行する際(キャッシュヒット率100%の場合)には90%の改善、あるいはそれ以上の高速化も可能です。
実際には、プロジェクトによって改善率は異なり、10〜30%の範囲になることが多いようです。
さらに詳しく知りたい方は、Bitriseの公式Blog記事Lifting the hood on Build Cache for Xcodeをご覧ください。
まとめ
この記事では、Bitrise Build Cacheの導入手順と、導入後のビルド時間の短縮効果について紹介しました。
わずか数ステップの設定だけで、平均17%のビルド時間短縮を実現できたのは大きな成果です。開発者の待ち時間が減ることで、より本質的な開発作業に集中できるようになりそうです。
TimeTreeには、こういった新しい機能を積極的に試させてもらえる風土があります。エンジニアの提案を受け入れ、チーム全体の生産性向上に取り組める環境は、とても恵まれていると感じています。
TimeTreeでは共にミッションに挑戦する仲間を募集しています。
ご興味のある方はぜひ下記に目を通していただけるとうれしいです。
お会いできることを楽しみにしています!