安小姐與詹先生的邂逅 android + jenkins

27
t 13926星期四

Upload: prada-hsiung

Post on 06-May-2015

748 views

Category:

Technology


4 download

DESCRIPTION

the presentation for Android Taipei in EZTable. the topic is talk about the CI and Testing.

TRANSCRIPT

Page 1: 安小姐與詹先生的邂逅 Android + Jenkins

t

13年9月26⽇日星期四

Page 2: 安小姐與詹先生的邂逅 Android + Jenkins

熊俊魁 Prada

70% Android

20% Server Dev10% iOS

13年9月26⽇日星期四

Page 3: 安小姐與詹先生的邂逅 Android + Jenkins

40,000,000 Downloads

13年9月26⽇日星期四

Page 4: 安小姐與詹先生的邂逅 Android + Jenkins

⼀一個Android Developer的成⻑⾧長故事

13年9月26⽇日星期四

Page 5: 安小姐與詹先生的邂逅 Android + Jenkins

死新⼿手

Hello world!runOnUiThread()

AsyncTask/Thread?

onPause >onResume > crash!

13年9月26⽇日星期四

Page 6: 安小姐與詹先生的邂逅 Android + Jenkins

正常的開發者

Service

Handler

秒寫Activity Life Cycle

Bitmap.recycle()Intent

13年9月26⽇日星期四

Page 7: 安小姐與詹先生的邂逅 Android + Jenkins

如果這時候轉職...

13年9月26⽇日星期四

Page 8: 安小姐與詹先生的邂逅 Android + Jenkins

有點厲害的開發者

Multi-Resolution

NDK Development

Hardware Fragmentation

13年9月26⽇日星期四

Page 9: 安小姐與詹先生的邂逅 Android + Jenkins

有點品味的開發者

Design Pattern

Concurrency Pattern

Active ObjectBalking patternDouble checked lockingGuarded suspensionLeaders/followers patternMonitor ObjectReactor patternRead write lock patternScheduler patternThread pool patternThread-Specific Storage...

BuilderFactorySingletenPrototypeBridgeFacadeProxyMediatorStrategyAdapterDecorator...

13年9月26⽇日星期四

Page 10: 安小姐與詹先生的邂逅 Android + Jenkins

對品質有點要求的開發者

Test Driven Development

Behavior Driven Development

Code Coverage

Joel Test

13年9月26⽇日星期四

Page 11: 安小姐與詹先生的邂逅 Android + Jenkins

Android⼤大⼤大

Team Leader

Boss...

Programer +

Tester +

Project Manager +

Designer +

13年9月26⽇日星期四

Page 12: 安小姐與詹先生的邂逅 Android + Jenkins

Android⼯工程師進化表

13年9月26⽇日星期四

Page 13: 安小姐與詹先生的邂逅 Android + Jenkins

這關詹先⽣生什麼事?

13年9月26⽇日星期四

Page 14: 安小姐與詹先生的邂逅 Android + Jenkins

其實每個英雄背後都有⼀一個很重要的阿福

13年9月26⽇日星期四

Page 15: 安小姐與詹先生的邂逅 Android + Jenkins

其實每個Android 開發者背後都有⼀一個很重要的詹⾦金絲

13年9月26⽇日星期四

Page 16: 安小姐與詹先生的邂逅 Android + Jenkins

Development != Coding

13年9月26⽇日星期四

Page 17: 安小姐與詹先生的邂逅 Android + Jenkins

Planning Coding

VersionControl

Build

Config

IssueTrack

Compile

Test Publish

13年9月26⽇日星期四

Page 18: 安小姐與詹先生的邂逅 Android + Jenkins

Planning Coding

VersionControl

Build

Config

IssueTrack

Compile

Test Publish

13年9月26⽇日星期四

Page 19: 安小姐與詹先生的邂逅 Android + Jenkins

有管家(⾃自動化)的好處?

13年9月26⽇日星期四

Page 20: 安小姐與詹先生的邂逅 Android + Jenkins

時間總被打斷E : 好我build⼀一下 PM > Engineer(E): 今天要release唷

E > PM: 我放到TestFlight囉PM > Tester(T):⿇麻煩去抓最新版本來測

T>E : (測到⼀一半) 好像有些東⻄西是舊的耶E>T : 我瞧瞧

E>T: 靠~少commit⼀一個東⻄西再等我⼀一下

E>T :再⿇麻煩您測試⼀一下

(過了20分鐘)

(過了30分鐘)

(過了30分鐘)

(過了20分鐘)

13年9月26⽇日星期四

Page 21: 安小姐與詹先生的邂逅 Android + Jenkins

避免神奇機器

你設定寫錯了吧

昨天在我電腦明明會動

怎麼可能!

你電腦有毒吧

資料沒清乾淨吧

環境設定沒寫好吧

⼯工具版本⽤用錯了吧

奇怪勒

13年9月26⽇日星期四

Page 22: 安小姐與詹先生的邂逅 Android + Jenkins

⼈人總會犯錯

我忘記加⼀一個參數

你拿到舊的Code

要連到測試Server才會正常少做⼀一個步驟啦

你少Checkout那個Plugin

有⼈人亂改我的Code!

你少Commit⼀一個檔案

13年9月26⽇日星期四

Page 23: 安小姐與詹先生的邂逅 Android + Jenkins

為什麼特別推薦詹⾦金絲?

13年9月26⽇日星期四

Page 24: 安小姐與詹先生的邂逅 Android + Jenkins

因為它跟安⼩小姐是同⼀一個媽媽(JAVA)⽣生出來的!

13年9月26⽇日星期四

Page 25: 安小姐與詹先生的邂逅 Android + Jenkins

很好⽤用很Fashion很好升級超多套件

還有⼿手機APP很好擴充(Scale out)

java -jar jenkins.war

web base UI

war蓋過去就是了

昨天看⼤大概有857個

https://play.google.com/store/apps/details?id=com.lmit.jenkins.android.activity&hl=zh_TW13年9月26⽇日星期四

Page 26: 安小姐與詹先生的邂逅 Android + Jenkins

Demo

https://github.com/bearprada/HelloAndroidTaipei

Cardinal Blue Calculator

1

100

5050

13年9月26⽇日星期四

Page 27: 安小姐與詹先生的邂逅 Android + Jenkins

13年9月26⽇日星期四