[iOS 8/Xcode 6] BotsでCIしよう(5) -Bots/ Jenkins/Travis CIを比較する

はじめに

iOS開発者にとってBotsは気になる存在だと思いますが、他のCIツールと比較してどうなのかが気になります。ええ、とっても。なので調べてみました。代表的なCIツールであるJenkinsTravis CIBots比較します。

比較表

  Bots Jenkins Travis CI
Gitリポジトリ 問わない 問わない Githubのみ
サービス提供 無し CloudBees/Clinkerなど Travis CI(org/com)
オンプレミス環境 Mac Javaが動作する環境 無し
分散化 無し 有り(スレーブ) 有り(多分してる)
プラグイン 無し 豊富 無し
Scriptの実行 有り 有り 有り
iOS対応 有り 有り(Macでホストされていた場合) 有り
Android対応  無し 有り 有り(2014/10/21現在β版)
対応言語  Objective-C/Swift Jenkinsが動作するプラットフォームで動かせるもの何でも。 全18種類
Slack対応 無し(API経由で可能) 有り 有り
設定方法 XcodeからGUI ブラウザからGUI 設定ファイル[.travis.yml]
料金 2,000円 無料(OSS) .org 公開OSS向けは無料
.com 非公開向けは$129/mo 〜

まとめ

Botsは良くも悪くもApple環境に特化しているところがウリです。設定の簡単さと引き換えにAppleの世界以外では動きません。またJenkinsだと動作環境含めての自由度の高さと引き換えに管理とか意外と時間をとられるところなので、BotsもAppleがSaaSとして提供してくれてたらいいのにな、と思いました。
Serverアプリを購入(2,000円)する必要はありますが、設定周りの導入の敷居は低いのでAppleの開発しかしない、または他のCIツールと併用するなら使う価値が有ると思います。

ちなみにスマホアプリのチームではオンプレJenkins環境でAndroid/iOS 6/iOS 7/iOS 8のスレーブを作って運用していましたが、”何か止まってる!”とか、”スレーブ認識しなくなった”とか運用のコストが結構かかってきたので、トータルコストを考えてGithub+Travis-CIなフルマネージド(AWS用語?)サービスに任せてアプリ開発に注力するという方針にしています。iOS 8でもありましたが、SaaSだけにβ時のCI環境はNDA的にも提供されないのでそこはJenkinsと併用しています。と、ここまでBots記事を書いてますが、サーバーアプリやAndroidも扱ってるので実際使われていないのが現状なのです。