iOSアプリのCIができるサービスを調べたので、まとめます。
なお、本記事は2014年12月時点のものであり、今後変わる可能性が多いにあります。(というか変わってほしい)
TravisCI
お馴染みのやつ。
メリット
- Githubとの連携が楽。Pull requestごとにビルドができし、ビルド結果をGithub上で表示できる。
- 任意のコマンドを実行できるので自由度が高い。
- 使ってる人が多い。(個人の見解です)
デメリット
- iPhoneシミュレータのみでしかテストできない
- 若干、Xcodeへのバージョンアップへの追従が遅い。(現時点での最新版はXcode6.1.1だが、TravisCIで利用できるのはXcode6.1)。
- どういう環境でビルド・テストされるかは
The OS X Build Environment で確認できる。
- どういう環境でビルド・テストされるかは
Ship.io
メリット
- ipaの作成や、Testflight等へのアップロードができる。
- 実機でのテストができる。
- beta版のせいか、基本無料で利用できる。
デメリット
- ビルド対象のブランチが固定。
- ビルド回数に上限値がある。(99,999回とかだけど)
- ビルドやテストコマンドが固定でカスタマイズできない。
- サイトが重くて、あまり試せていない。
GreenHouseCI
メリット
- ipaの作成や、Testflight等へのアップロードができる。
- UIがよくできてる。(個人の見解です)
- 無料でも2アプリまでビルドできる。
デメリット
- 証明書やmobileprovisioningを預けないと利用できない。
- ビルド対象のブランチが固定。
- ビルドやテストコマンドが固定でカスタマイズできない。
- Swift+Quickだと異常に成功率が低く、1/5の確率でしか成功しない。
Jenkins
メリット
- なんでもできる(がんばれば)
デメリット
- 自分でホスティングしないといけない。
- iPhoneシミュレータの起動にGUIセッションがいるので、特定ユーザでログインしっぱなしにしないといけない。
まとめ
Jenkins最高!!!