今すぐ実践すべきモバイルアプリのデプロイ手法
こんにちは!主にAndroidの開発を担当しているimai.kです!
今回は、弊社で実践しているモバイルアプリのデプロイ手法に関してご紹介をします。
アプリのデプロイとは?
モバイルアプリのデプロイとは、アプリケーションを端末にインストールすることですが、アプリのデプロイと一口に言ってもいくつか方法はあります。
- IDEからインストールする方法
-
バイナリを直接端末にインストールする方法
などなどです。
モバイルアプリのテストは、品質を担保するために色々な端末で行う必要がありますが、
Android、iOSなど様々なOSがあるだけでなく、OS内でも端末ごとによって少しずつ違いがあります。
そのため、テスト対象のアプリを端末にデプロイするだけでも手間がかかります。
こういった課題を解消するために、弊社では以下の工夫を行っています。
定期的にビルドしよう!(CI)
CIとは「Continuous Integration」の略称で、継続的にビルドやテストを実行することを指します。
継続的にビルドすることでビルドエラーやコーディングミスを早期に解決できる手法です。
CIツールJenkinsを活用しよう!
弊社ではCIツールの一つであるJenkinsを使用しています。
弊社の開発フローは、以前の記事で紹介したように、
バージョン管理システムは主にGitLabを使用しています。
GitlabでのMerge Requestが通り、本流のブランチにマージされるとJenkinsでのビルドが行われるようになっており、
ビルドエラーが出なければコードの正当性が担保できるというわけです。
ビルドしたときにテストもしよう!
CIツール上でビルドをするとき、テストコードも実行すると、さらに効果があります。
テストコードが成功するということは、アプリがビルドできるという保障だけでなく、正常に動作することも担保できます。
定期的にビルドすることで、高い品質のアプリを作ることにつながりますね。
ビルドしたアプリを開発者に配布しよう!
CIツールでのビルドは、コードが正しくビルドできることの担保だけが役割ではありません。
ビルドが通るということは、端末にインストールすることができる成果物(例えばAndroidであれば、apk)が同時に出来上がるということです。
この成果物が端末にインストールできる、正しく動作することを確認できれば便利だと思いませんか?
弊社では、そのためのツールとしてDeployGateを使用しています。
DeployGateを活用しよう!
DeployGateは、アプリインストールを効率化するツールで、API経由や専用のツールを使い、
成果物をアップロードすると、端末からDeployGateアプリ経由でアプリをインストールできるようになるツールです。
DeployGateを使うことで、実機にインストールするためのオーバーヘッドを下げることができ、試験を効率化できます。
また、テストに使うアプリは「必ずDeployGateからインストールする」というようにルールを定めておくことで、
テストに使うアプリを間違えるといったことも防ぐことができます。
DeployGateを使うといいところ!
実際にDeplayGateを使ってみて、こんな効果を感じています。
- 端末をPCにつなぐ煩わしさがなくなる
- コミュニケーションが取りやすくなる
PCにつながなくてもスマホにアプリをインストールできるのは非常に楽です。
また、バグを確認するときに、技術者間やお客様との間でバイナリのやり取りなどが不要になるため、
コミュニケーションも円滑になっていると感じています。
今後もさらに活用していきたいですね。
まとめ
いかがでしたでしょうか。
今回は、開発フローの中でもアプリのデプロイに関して書かせてもらいました。
アプリを実機に乗せる、ということ一つを取っても品質を担保するために工夫するべきことがある、
ということを理解いただければ幸いです。
次回は、試験項目を作成する中で、どういったことに注意すると高い品質を保てるかを紹介させていただきます。