グリーのサービス開発における継続的インテグレーションと、CIツールであるJenkinsの導入について、CI導入のモチベーション、進め方のポイントを中心に説明します。今回は、apkの作成までの自動化を手始めに、徐々に自動化の資産を積み上げていくことで開発ワークフローを改善していく過程を紹介します。
前回の「JenkinsでCIすればiOSアプリのビルドは、もう面倒くさくない」に続き、今回はAndroidアプリ開発とJenkinsについて紹介します。
Android開発の継続的インテグレーションの第一歩として、まずはAndroidアプリをJenkinsでビルドしてapkファイルを作成してみましょう。あらかじめJenkins、Android SDK、ならびにAntをインストールして設定しておいてください。
今回はAndroidアプリのサンプルとしては、Android SDKに含まれるものを使います。AndroidサンプルアプリはGitレポジトリで管理されていますので、Jenkinsに「git plugin」も導入しておいてください。
まずは適当なプロジェクトを作成して、Gitレポジトリを設定します。
レポジトリには、たくさんのサンプルが含まれていますが、今回は「samples/AccelerometerPlay」ディレクトリにあるサンプルアプリを使って紹介します。
続いて、ビルドの設定を行います。チェックアウトしたばかりのレポジトリにはAntビルドで利用するbuild.xmlがありませんので、これをandroidコマンドで作成してからantを実行します。
OS X/Mac OS XやLinuxなどでJenkinsを実行している場合はシェルの実行から、Windowsの場合はWindowsバッチコマンドの実行から次のコマンドを実行するように設定してください。
android update project --path samples/AccelerometerPlay --target android-17
「--path」はプロジェクトディレクトリ、「--target」はターゲットとするAPIレベルを指定します。ここでは「android-17」(Android 4.2相当)を指定しています。
続いて、antの呼び出しを設定します。高度な設定からビルドファイルを指定して、[ターゲット]には、ここでは「debug」を指定します。リリース用の場合は「release」を選びます。
作成したapkをJenkinsが管理できるようにパスを設定します。今回の場合は、「samples/AccelerometerPlay/**/*.apk」と指定しておいてください。ここまで設定ができたらプロジェクトを実行してみてください。
どうでしょうか。これで無事にアプリのビルドはJenkinsに任せることができるようになりました。
Androidアプリ開発におけるテストについては、次の連載に詳しく説明がありますので、こちらをご参照ください。
AndroidアプリのテストはJUnitをはじめとして、「monkeyrunner」「NativeDriver」「robotium」など、さまざまなツールやソリューションがあります。
例えば、Android Emulator Pluginを使えば、Android Emulatorを起動して、ビルド後にパッケージをインストールし、ランダム打鍵ツールの「monkey」を実行、結果の集計もできます。
エミュレータはサーバ上でJenkinsを動作させている場合のためにエミュレータウィンドウを表示しない設定もできますし、Androidのバージョンや解像度などをパラメータ化して複数のテストを実行するように設定することもできます。
Copyright © ITmedia, Inc. All Rights Reserved.