SlideShare a Scribd company logo
CI 導入ライブ -jenkins ci server
bols-blue


継続的インテグレーションを強力にサポートする
 jenkins-ci サーバーの導入、運用をライブで行いま
 す。 Android の開発で問題となるフラグメント
 化の対応策になりえるか!?




                 
bols-blue について
Android Hacks 著者です。
PHP の本もあります。
ついったーは @bols_blue
社会人 4 年目です。
jenkins のコミッターです。
オーバートーン株式会社にいます




               
jenkins とは
ソースコードのチェックアウトやマージ、ビル
 ド、テストの実行、結果の通知を自動で行って
 くれる CI サーバ




         
CI のメリット
継続的インテグレーションのメリットには、次の
 ものがあります。
 開発中のバグが発見されやすくなる。
 テストを自動的に行うので、開発者は全体の
  テストの実行に時間を費やさないですむ
 問題があればすぐに発見されるので、開発者
  は安心してプログラミングを行える




         
android の特徴
Android のいくつかの特徴が継続的インテグレー
  ションの重要性をさらに高めています。
具体的には次のような特徴があります。
1. 様々な端末が四半期ごとに追加される。
2. Android 端末は 18 ヶ月 OS を最新バージョンに
  アップグレードされる。
3. Google Play( 旧 Android Market) の評価は最新も
  のが上に表示される。



                
Jenkins で Android アプリを
  CI するための 3 つのポイント
どうやって Jenkins に Android SDK を入れるのか
Ant がないプロジェクトはどう実行するのか
複数デバイスがつながっている場合にどうやって
 指定して実行するのか




              
導入ライブ
ここからの内容は@ IT の連載にもっと詳しく
 載っています
動作環境は http://jenkins.android­tec.org でアカウ
 ントを取ると動作している環境の設定を参照し
 たり変更できます。
サーバーは CloudCore の開発者支援制度を利用し
 ています。




                
Jenkins のインストール
Apt や yum で管理できます。
コマンドのコピペで OK




            
Android SDK ・エミュレータプラグ
             イン
         のインストール
エミュレータプラグインをインストールして動作
 させると自動でインストールされます。
GUI が利用できない環境では以下の用にすればす
 べてのバージョンをインストールすることが可
 能です
 #android update sdk -u




                           
ビルド・テストの自動化
ビルドだけの場合ターゲットバージョンで指定し
 たバージョンの API がインストールされていな
 いとエラーになります
ビルドだけするときにもエミュレータを実行させ
 ておくと安心です。
ついでだからモンキーだけでも走らせるといいで
 しょう。
ANT が無いプロジェクトに次のようなコマンド
 で自動生成できます。
  android update project
  android update test-project

                             
複数 OS バージョンでのビルド・テ
       ストの自動化
マルチ構成プロジェクトを使います。
ユーザー定義を利用することで変数を置き換えま
 す。




         
実デバイスでの実行
実デバイスに向けて動作させる場合は以下のよう
 なプロパティを渡すことによって実行できる
adb.device.arg=­s SHTBB045466 




                   
複数の実デバイスでの実行
複数 OS と同じようにマルチ構成を利用します。




          
まとめ
どうやって Jenkins に Android SDK を入れるのか
 エミュレータプラグインを使えば自動でインストー
  ルされる
Ant がないプロジェクトはどう実行するのか
 android update project で生成できる
複数デバイスがつながっている場合にどうやって
 指定して実行するのか
 ANT で動く物はプロパティに adb.device.arg=­s  を入
  れることで指定ができる。


                 

More Related Content

Jenkins導入ライブ

Editor's Notes

  • #8: ここまでで6分
  • #10: 7分
  • #11: ビルド10分 テスト5分
  • #12: 約8分