buddybuildとは?
CircleCIなどと同じCI環境を提供するサービスです。モバイルアプリに特化しているのでサーバーサイドアプリなどは対応していないようです。
buddybuildの特徴
- CocoaPods,Carthageのサポート
- Github,Bitbucket対応
- Store配信
- ユーザーからフィードバックレポート(SDKを組み込んだ場合)
- SlackやJIRAとの連携機能
buddybuild overview
buddybuildの紹介動画がありました。
https://www.youtube.com/watch?v=A_0XOmMw03A
今回試すこと
- iOSアプリのCI環境を作りたい
- リポジトリはGithubを使用
- CocoaPodsとCarthageを使用
- ビルドに失敗したらSlackで通知
- ビルドに成功したらテスターに配信
以降、こちらのサンプルプロジェクトで試します。
設定
buddybuildにアクセスして、下記のようにメニュー>Get Started!ボタンをクリックします。
Emailでも登録できますが、今回はてっとり早くGithubで認証しました。
認証に成功すると今度はリポジトリの選択画面になるので、対象のリポジトリを選択してください。
リポジトリを選択すると自動的にビルドが開始されます。プロジェクト直下にPodfileやCarfileが存在する場合は自動的にCocoaPodsとCarthageを認識してくれます。
"Care to peek under the hood?"をクリックするとログを見ることができます。
ビルドに成功するとこのような画面になるのでGo to the Dashboardを押してみます。
Slackとの連携
DashboardのBuild Settingsをクリックします。
設定メニューからConfigure Builds Notificationを選択します。
Slack WebHookという項目があると思うので、次にこのURLを設定します。
(ここからはSlackの設定です)使用しているSlackのIntegrationsから"Incoming WebHooks"を設定します。

通知したいSlackのチャンネルを選択して、Add Incoming WebHooks Integrationボタンをクリックすると下記のようにフック用のURLが発行されます。このURLをさきほどbuddybuild設定メニューのConfigure Builds Notificationで表示されたSlack WebHookにコピペしてSaveします。適宜Branchesなどは必要な項目に変更してください。

ビルドして動作確認してみます。
とりあえず今回はここまで。
その他
テスターへの配信にCrashlyticsやDeploygateを使っている方も多いと思いますが、buddybuildからは直接連携することはできないようです。ただし、buddybuildにテスターアカウントを登録して、メールで通知する仕組みはあります。
ざっと使ってみて、細かいカスタマイズはできないものの、お手軽にCIを構築したいという方には良さそうです。
詳しくは公式ドキュメントが参考になるかと思います。