LoginSignup
24
23

More than 5 years have passed since last update.

iOSアプリのCIについて調べてみた。

Last updated at Posted at 2016-12-12

この記事はWanoグループ Advent Calendar 2016の11日目です。
嘘です。一日忘れてたら他メンバーにとられたので12日目になりました。

結論

  • とりあえずやってみるならbuddybuildがイケてそう。

以下詳細

事の経緯

最近うちでアプリ開発してて、人的なテストにかける工数がかなり大きくなってきたので、そろそろいい感じにCIとか回して全体の工数減らせたらいいよねー、って話がでてきた。
なので、iOSアプリでCI回す方法ってどんなのあるんかね、ってことで調べてみた。

前提条件

  • bitbucket対応
  • 外部ホスティング
  • iOSとAndroid対応
  • FabricとかSlackとかbitbucketとかJIRAとかと連携できたら嬉しいよね

調べてみたCI

http://engineering.otobank.co.jp/entry/ios-build-switch-to-bitrise-from-circleci
だいたいのことはこの辺に書いてある。
ちょっと情報が古いのでCI一覧をアップデートしておく。

CircleCI Travis CI BITRISE GREENHOUSE buddybuild
値段 $39/月 $69/月 Free Free Free
メンバー数 2人 2人 1人 1人
ビルド回数 5回/日 なし 200回/月 なし なし
ビルド時間 500分/月 なし 10分/回 なし なし
同時ビルド数 2 1 1 1 1
その他 bitbucket非対応だった workflow機能が充実 実機によるテストらしい クラッシュレポート/手動テストサポート機能

どれを選択するか

とりあえず無料でしばらくまわしてみてから考えたかったんだけど、現状無料枠があるのはBitrise、Greenhouse、buddybuildの3つしかない。
そのうち、サクッとできそうなBitriseとbuddybuildをいじってみて比較してみた。

比較

セットアップの容易さ

どちらもフローに従ってリポジトリ設定してゴニョゴニョやるだけでだいたい設定できる。
個人的にはbudybuildのほうが余計な機能がない分設定しやすかった気がする。

ちなみに
bitriseの設定方法はこのへんを参考に、
buddybuildの設定方法はこのへんを参考にすれば良いと思う。
どちらも画面のフローに従って設定すればいいだけだからそんなに問題はないと思うけど。

あと、buddybuildでbitbucketのリポジトリを設定する際に、github/bitbucket/gitlab/sshのうちどれでリポジトリ設定するか聞かれるんだけど、自分はなぜかbitbucketで設定してもうまく動かなかったので、sshの項目か項目からリポジトリ設定したらうまく行った。

特徴

Bitrise

workflowすげぇ。
これだけの機能(Step)と連携できる。
https://www.bitrise.io/integrations

しかもこんな感じでそれぞれのStepを管理画面上でポチポチっと数珠つなぎにしてやればCIのworkflowができあがる。
スクリーンショット 2016-12-12 19.42.47.png
さらにそれぞれのStepは全部gitにソースコードがのっていて、どういう挙動をするのか見ることができる。
もちろん自分でもStepを作れる。

buddybuild

手動テストフィードバックがすげぇ。
CIでテストとか回して最終的にテスターに配布した時に、テスターからのバグ報告をスムーズに受け取る機能がSDKに仕込まれていてこれがかなりアツい。

TSiwjSoWQHqs8RFIt7JU_Phone - Feedback.png
(参考) http://docs.buddybuild.com/docs/leaving-feedback

Step 1のように適当な箇所でスクリーンショットを撮る

Step 2の画面になるので、テスターがフィードバックしたいエリアをドラッグして赤枠で囲む

囲んだらStep 3の画面でフィードバック内容を送信する

以上、3ステップでOK。

この機能はサイトに行くとbuddybuildが用意した適当なアプリで一連の流れを体験できるので、是非やってみてほしいところ。
https://dashboard.buddybuild.com/demo

制約等

実際のプロジェクトを回してみたらわかるけど、Bitriseの無料枠のビルド時間10分がかなりキツい。
うちではCarthageとCocoaPodsの両方をつかってるのだが、Carthageのビルドが毎回走るとそれだけで15分とかかかってしまう。
しょうがないのでリポジトリにビルド済みframeworkを突っ込んでみたけど、それでも10分ギリギリなので、無料枠で継続して運用するのは難しそう。

また、Bitriseのworkflow機能は魅力的だが、実はbuddybuildでもシェルスクリプトをCIのサイクルで回すことができるので、ぶっちゃけこれである程度のことができてしまう。
http://docs.buddybuild.com/docs/custom-prebuild-and-postbuild-steps

もちろん、slackとかjiraとかbitbucketとかの基本的なサービスとの連携は両者ともできる。

まとめ

  • Bitriseほど多機能なworkflowはなくても大丈夫だった
  • 遠方のテスターにテストをお願いすることが多々あるため、手動テストフィードバック機能が魅力的
  • とりあえず無料枠で最初はある程度動かせそう

というわけでbuddybuildでしばらくまわしてみようと思います。

24
23
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
23