Bitriseの導入効果をレビューでご紹介(ピクシブ株式会社-ああうえ)
ピクシブ株式会社 / ああうえ
メンバー / プロダクトマネージャー / 従業員規模: 101名〜300名 / エンジニア組織: 101名〜300名
利用プラン | ツールの利用規模 | ツールの利用開始時期 |
---|---|---|
Organization Elite(Concurrent builds x6) | 51名〜100名 | 2018年1月 |
利用プラン | Organization Elite(Concurrent builds x6) |
---|---|
ツールの利用規模 | 51名〜100名 |
ツールの利用開始時期 | 2018年1月 |
導入の背景・解決したかった問題
導入背景
Bitriseを導入する以前は、当時のアプリチームの席の近くに3台のMac miniが置かれていて、その3台でJenkinsを使って分散ビルドを行っていました。Jenkinsを利用する前はAndroidアプリのビルドにCircle CIを使っていたこともあったようですが、メモリ不足でビルドできないことがあり、まともに使えていなかった。
また、CIの設定を改善するという文化があまりなく、開発版のアプリを社内向けに配布するためにビルドするというのがメインの用途になっていた。
そのため、Jenkinsで使うmacOSやXcodeのバージョンをアップデートするなどのメンテナンスや引き継ぎコストが高い状態でした。また、CIの結果はオフィスのネットワーク内かVPNを繋いで確認するしかありませんでした。
そこで、Xcode等のアップデートでJenkinsのメンテナンスを不要にし、開発効率を上げるプロダクトやメンバーが増えてもスケールしやすいCI/CDにすることを目的にCIツールの選定を行いました。
比較検討したサービス
- Circle CI
- Travis CI
- Jenkins
比較した軸
- 価格
- 機能
- メンテコスト
導入の成果
- Jenkinsのメンテナンスが不要になった
- Bitriseはベータ版のXcodeへの対応も早く、新しいバージョンでビルドを試すのもやりやすくなった
上記によって新しいXcodeが出るたびに半日〜1日程度アップデート作業が必要だったのが不要になりました。そのため、誰か詳しい人が1人でJenkinsの面倒を見るという形ではなくなり、各プロダクトで使いたいスタックを利用できるようになりました。
また、ワークフローをGUIで設定できるようになったことで、モバイルアプリでもCI/CDを組むのが当たり前になりました。
導入時の苦労・悩み
当時はモバイルアプリ以外でCircle CIを使っていたこともあり、Circle CIとの価格の比較や機能面での比較をしました。
導入に向けた社内への説明
上長・チームへの説明
現在のBitriseではBitrise Insightsでビルド時間や回数、ボトルネックなどの統計データを確認することができるようになっていますが、当時はビルドの統計データを見ることができなかったのでスクリプトを書いてプラン稟議の交渉材料にしていました。
活用方法
よく使う機能
運用はプロダクトチーム毎に若干異なりますが、大体は以下のようなタイミングで利用しています。
- Merge Request毎のLint・ユニットテスト実行
- App Store、Google Play Storeへのアップロード処理
- MagicPodなどE2Eテストのトリガーに利用
また、主に以下のような画面を操作することが多いです。
1. ビルド結果画面 テストが失敗している場合にログを確認するために利用しています。
2. Latest builds画面 複数プロダクトで使っているので、ビルドが詰まっている際に原因を確認するために利用しています。
3. ワークフローエディタ ワークフローを編集したい場合に利用しています。Bitriseのワークフローはステップという単位を組み合わせて作るのですが、各ステップにはBitriseが公式で提供しているものや、3rd partyの開発者によって作られたものがあり、アップデートが必要な場合があるのでたまに確認をします。
ツールの良い点
ワークフローがGUIで設定できる
普段モバイルアプリエンジニアはXcodeやAndroid Studioを使っているので、コマンドラインでアプリをビルドする方法にはあまり馴染みがありません。 GUIでワークフローを組めるようになったことで、誰でもCIの設定に手を入れられるようになったと感じています。 モバイルアプリをストアにアップロードするためにはコード署名などをする必要がありますが、そこを手軽に設定できるのも良い点だと思います。ステップがOSSとして公開されている、自分で作ることができる
ステップがOSSとして公開されているので、もし謎のエラーが出たとしてもコードを読みに行ってなぜエラーが出ているのか推測することができます。 また、Bitriseのステップは誰でも作ることができるので、自分も2つほどステップを作って公開しています。ステップを作らなくてもシェルスクリプトを書くことでなんでも実行はできるのですが、公開しておくことで他のチームで使いたい時に気軽に使ってもらうことができました。
ツールの課題点
- 現在は課金体系がクレジット制となっている
トライアルはできますが、一定料金内で無制限にビルドできるプランと比べると稟議を書くのが大変です。
ツールを検討されている方へ
我々がBitriseを導入した当時と比べて選択肢は広がっていると思います。
iOSであれば現在はXcode Cloudを利用するのも良いかと思います。当然ですがXcode Cloudの方がTestFlightやApp Storeへのアップロードがしやすいです。ただ、ピクシブの場合だとself-hosted GitLabを使っている関係でXcode Cloudが使えておりません。
Bitriseはサポートがしっかりしているので、導入で困ることはほぼないかと思います。 iOS・Androidでそれぞれ別のサービスを導入するのも大変なので、Bitriseを導入すれば両OSで使うことができます。GUIでワークフローが設定できたり、コード署名周りの設定が簡単だったりと、初心者でも馴染みやすいところが特に素晴らしいと考えています。モバイルアプリの開発でCI/CDの文化を広めていきたい場合にBitriseの導入はとても有効だと思います。
ピクシブ株式会社 / ああうえ
メンバー / プロダクトマネージャー / 従業員規模: 101名〜300名 / エンジニア組織: 101名〜300名
2017年にピクシブ株式会社に新卒入社、pixivやpixiv SketchなどのiOS・Androidアプリ開発を担当。新規事業部・デザインシステム部所属。ピクシブのモバイルアプリの開発効率を向上させるため、プロダクト開発だけでなく育成やデザインシステムの導入に力を入れています。
よく見られているレビュー
ピクシブ株式会社 / ああうえ
メンバー / プロダクトマネージャー / 従業員規模: 101名〜300名 / エンジニア組織: 101名〜300名
2017年にピクシブ株式会社に新卒入社、...