コベリンの開発環境 + TestFlight

コベリンの山口です。

コベリンの開発環境が若干変化し、最近慣れてきたので紹介します。

現在の開発フローは以下の画像の様な流れになっています。

covelline_work_flow]

前回の記事 とは全く違う画像になってしまって申し訳ないですが、よく見比べると新しいサービスが導入されています。

新しい仲間

それはこいつです。

testflight-logo

これは TestFlight と言われるもので、β版のアプリを任意の人に配布することが出来るサービスです。

詳細はググると大量に出てくるのでここでは説明しませんが、ネットワーク経由で開発中の最新のアプリがインストール可能になる、バグの早期発見や後で説明するレビューの工程において役に立つサービスです。

iPhone アプリや Android アプリを開発する際は是非とも導入することをおすすめします。

TestFlight を導入する利点1

コベリンで TestFlight を使っている中で最も便利だと感じたの時はソースコードのレビューを行うときです。

コベリンでは今までレビューする際に、新しいバージョンのアプリを試すためにはソースコードGithub からダウンロードしてからビルドして実機、もしくはシミュレータにインストールする必要がありました。

これは非常に面倒なので、恥ずかしいことですが、レビューの際に実機にインストールして試すという作業をさぼりがちでした。

そこで簡単に開発者の iPhone にアプリをインストール出来るようにするために TestFlight を導入しました。

レビューする際に TestFlight のアプリからサクッとレビュー対象のアプリを選択すればビルドなどせずにインストール可能なので超簡単です。

TestFlight を導入する利点2

開発者以外の人にもバグの報告やレビューしてもらうことが出来ます。

繰り返しになりますが、TestFlight を導入する以前は iPhone にインストールするために、ソースコードをダウンロードしてビルドする必要がありました。

これでは 開発環境(Mac)を持っていない人や、ソースコードを取得できない人に試してもらうことが出来ません。

しかし、 TestFlight を使えばそういった人にも試してもらうことが出来ます。

弊社では数名の人に 開発版のアプリを試してもらって不具合や使い難いところなどを報告してもらって、アプリの品質改善に活かしています。

自動化!! 自動化!!

TestFlight で色々な面倒なことが解決されたのですが、 TestFlight を導入することでもう一つ面倒なことが起きてしまいます。

それは最新のアプリを TestFlight にアップロードしなければいけない、ということです。

そんなに面倒な作業ではないのですが、プログラマにとっては苦痛でなりません。

「最新のアプリをツールを使ってアップロードする」...

このような単調な作業はすぐにやらなくなってしまいます。

そこでコベリンでは Jenkins の Job の中に TestFlight にアップロードする仕組みを導入しました。

上に貼った開発の流れの画像の Jenkins(布を持ってるおっさん) の所を見ていただけると分かるのですが、テスト実行後に TestFlight へのアップロードを行っています。

これによって TestFlight へのアップロードが自動化され、プログラマが自分でアップロードする必要がなくなりました。

Pull Request -> テスト -> TestFlight に配布 -> レビューの流れが非常にスムーズになっています。

おわりに

今回はコベリンの開発環境に新しく追加された TestFlight について書きました。

TestFlight はβ版のアプリを配布するサービスです。

TestFlight を使うとソースコードをダウンロード -> ビルド -> インストールという手間が無くなるため開発のスピードが加速します。

最新のアプリを TestFlight へアップロードする作業は Jenkins(継続的インテグレーション)の中に組み込むことで自動化出来ます。

UI の変更などは即効でチェックしてもらえて、レスポンスが得られるので非常に有用です。

まだ試していない方がいましたら是非ともお試しください。