HudsonとAndroid

4,999 views
4,880 views

Published on

アンドロイド研究会テスト部での発表。2010/11/11

Published in: Education, Technology, Business
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,999
On SlideShare
0
From Embeds
0
Number of Embeds
19
Actions
Shares
0
Downloads
33
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

HudsonとAndroid

  1. 1. 川口耕介 CloudBees, Inc.
  2. 2. AndroidをHudsonで動かす  基本的には簡単  Androidのビルドはantベースなので  Hudson Android Emulatorプラグイン  幾つかのテクニックを紹介
  3. 3. ステップ1  目標  Androidアプリのビルドを自動化する  デジタル署名  利点  トレーサビリティ
  4. 4. デジタル署名  「秘密」を一つのzipファイルにまとめる $ cat key.properties key.store.password=changeit key.alias=mykey key.alias.password=changeit $ zip secret.zip key.properties my.keystore
  5. 5. デジタル署名  秘密zipファイルをbuild secretプラグインで保存
  6. 6. デジタル署名  ビルドのはじめに秘密をロード cat $KEY/key.properties > local.properties echo key.store=$KEY/my.keystore >> local.properties
  7. 7. Local.propertiesの生成  ソースをチェックアウト後、環境依存情報を生成する  内容 $ android update project --path . --subprojects $ cat local.properties … sdk.dir=/usr/local/android-sdk-linux_x86
  8. 8. ステップ2  目標  テストを走らせる  テスト結果の収集  利点  バグの早期発見  プロジェクトの可視化
  9. 9. Hudson Android プラグイン  ビルドに先立ってエミュレータを起動  AVDを自動で作ることもできる  ビルド終了時にエミュレータを終了
  10. 10. テスト結果の記録  特別なテストランナーが必要  http://bit.ly/bsntqc  機械が読めるテストレポートを残すため $ ls tests/libs testutils.jar $ cat tests/AndroidManifest.xml … <instrumentation android:name="com.neenbedankt.android.test.InstrumentationTestRunner">
  11. 11. テスト結果の記録  テストレポートを残す  エミュレータからホストPCへコピー $ ca tests/build.properties test.runner=com.neenbedankt.android.test.Instrum entationTestRunner adb -s $ANDROID_AVD_DEVICE pull /data/data/com.foobar.app/files/TEST-all.xml
  12. 12. コードカバレッジ  残念!  HTMLリポートしか出力できない
  13. 13. ステップ3  目標  多環境同時テスト  テスト結果の集計
  14. 14. マルチ構成プロジェクト  一つの設定から多数の環境を同時ビルド  パラメータで微妙に異なる環境を作り出す  大規模なテストを素早く実行できる  その分、計算機は多数必要  適当に間引いたり、サブセットをビルドしたりもできる  Android以外でも色々使える
  15. 15. まとめ  Hudson + Android  リリースの自動化  テストの自動化  多数の異なる環境でのテストの並列実行

×