buddy buildはiOS・アンドロイドアプリのビルド自動化サービス(CI)です。
自動化によってテスターへの配布を自動化できるほかAppStore、GooglePlayストアへの申請までできます。
目次
前提条件
ローカルPCからテスト端末のスマホに配信可能なGItHub、Bitbucket上のiOSかAndroidアプリのプロジェクトがあること。
使い方
基本的に、buddybuildにログインしてターゲットのリポジトリを選ぶだけ。あとは全部やってくれます。
「React Native」や「Ionic」のようなハイブリッドアプリの場合、iOSかAndroidを選びます。
初回は自動でビルドが走ります。 必要なパッケージやライブラリなんかも自動診断でインストールしてくれます。
以後はコードをpushするたびビルドが走ります(ビルドのタイミングは設定で変更可能)。
ビルドが成功すると登録したテスターのメールアドレス宛に、アプリのダウンロード先URLが貼られたメールが届きます。 テスト端末のメールからリンクを開くと、直接スマホに開発中のアプリがインストールできます(初回のみ証明書のインストールが要求されます)。
pushしても自動的にビルドが開始されない場合はWebhookを設定します。
http://docs.buddybuild.com/docs/github-webhookdocs.buddybuild.com
通知はメールのほか、Slackにも送れます。
iOSの場合
buddybuildへApple Developer Portalアカウントをリンクするか、証明書とProvisioning Profileのアップロードが必要です。
アカウントをリンクした場合、iTunesConnectのアップロードまで自動化できるそうです。
証明書のアップロード
証明書を手動でアップロードする場合、OSXのキーチェーンから.p12ファイルを書き出してアップロードする方法と、ターミナルからシェルスクリプトを実行する方法があります。 中身の分からないスクリプトを実行するのはなんとなく不安だったので手動でアップロードしました。
間違ったファイルをアップロードしても、教えてくれるので安心です。
フック
ビルドの実行前や実行後にスクリプトを実行できます。
たとえば、ビルド後にDeployGateに配信する場合は以下の内容の"buddybuild_postbuild.sh"をリポジトリに入れます(APIキーとユーザーIDを適宜いれかえてください)。
#!/usr/bin/env bash curl -F "file=@$BUDDYBUILD_IPA_PATH" -F "token={DeployGateのAPIキー}" -F "message=$BUDDYBUILD_BUILD_NUMBER" https://deploygate.com/api/users/{DeployGateのユーザーID}/apps
ReactNativeの場合はリポジトリのルートではなくios
とandroid
フォルダにいれるよう注意してください。
buddybuild SDK
buddybuild SDKをインストールすると、テスターがアプリ起動時にアップグレードの通知を出してくれたり、クラッシュレポートを送ってくれたりします。 SDKのインストールはdashboardから行えるんですが、自分のアプリにはインストール失敗しました。
インストール前に、SDKガインストール可能かどうか診断されませす。 不可能なら「インストール不可能」旨のメッセージが表示されるだけでインストールされません。
料金
buddybuildの料金は無料から、有料プランは月額$41〜$419まであります。
無料版buddybuildでもビルド時間、ビルド回数に制限はありません。 そのかわり、たまに長い時では何時間もキュー待ちに入ります。
競合のBitwiseは無料プランだとビルド時間が10分以内、ビルド回数は月200回までの制限付き。 無料プランの制限は厳しいものの、3人以上のチームでの利用の場合は、Bitriseの制限なし月額$50有料プランに分がありそうに見えます。
まとめ
いまや自動化はあたりまえ。 buddybuildは自動化によってデプロイの手間が省けるのはもちろん、過去のビルドをいつでもインストールできる(ブランチも対応)のでデバッグでも大助かりです。