continuous integration

Post on 07-Jul-2015

2.648 Views

Category:

Software

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

透過Review開發流程來找出我們不敏捷的原因,透過其他工具改善其問題,最終達到隨時整合、隨時可release的強健軟體。 1. 減少需要人工手動處理的流程 2. 增加系統透明度( 資訊公開 3. 減少團隊內的誤會 4. 及早整合持續整合

TRANSCRIPT

Continuous Integration

iOS developerhttp://about.me/gliyao

Liyao Chen

Why we sluggish?Manual Unnecessary Opaque Feedback in slowly Mistake Integration hell

Review

功能做到哪了? 什麼時候可以測? 最新版在哪下載? 這⼀一版哪些功能可以測? 這10個Ticket哪些可以測?

你問的是哪⼀一個功能? 還沒有做完就在測 不是都有寄email嗎? 你可以看ticket阿 怎麼⼜又要加⼈人了?

Gap發佈不明確產⽣生誤會 功能, 時間, 地點, 範圍

10個issue中哪些可以測? 持續被中斷

Gap發佈不明確產⽣生誤會 功能, 時間, 地點, 範圍

10個issue中哪些可以測? 持續被中斷 看不件進度很不安 花很多時間在

Content switch

TestFlight

Release note Access Test team manage

Beta Testing On The Fly

Release Note?新建⽴立 已關閉已解決實作中

#13

#12

#11#14

#5

新建⽴立 已關閉已解決實作中

#13

#12

#11#14

#5

Release Note?

新建⽴立 已關閉已解決實作中

#13

#12

#11#14

#5

Release Note?

新建⽴立 已關閉已解決實作中

#12

#14

#13 #11#5

我要驗收哪些?

Release Note?

新建⽴立 已關閉已解決實作中

#12

#14v1 Release Note

#11 bug fixed -#13 bug fixed -

#13 #11#5

Release Note?

新建⽴立 已關閉已解決實作中

#12

#14

#13 #11#5

先關了驗過的v1 Release Note

#11 bug fixed -#13 bug fixed -

Release Note?

新建⽴立 已關閉已解決實作中

#12

#14

#5

怎麼還有⼀一個? 可能是

1. RD忘了加在Release Note 2. PM驗收忘記關 3. RD沒做完就丟給PM4. … etc.

Release Note?

新建⽴立 已關閉已解決實作中

#12

#14

#5

把#5踢回給RD

Release Note?

新建⽴立 已關閉已解決實作中

#12

#14

#5

把#5踢回給RD繼續下⼀一回合

Release Note?

Devcommit pull

report issue

check issue

Without CI

Dev

code analysis unit test

build release note

JenkinsPull code from repository Code analysis Coding style check Unit test Automate the build Generate release note Deployment

Why JenkinsRSS/Email notification ⽀支援分散式架構 ⼤大量豐富的套件 iOS & Android support

Devcommit pull

report issue

check issue

With CI (Jenkins)

code analysis unit test

build release note

Devcommit pull

report issue

check

Jenkins job for iOS

code analysis unit test

build release note

Pull from repository

Unit test

Build & Archive

Upload to TestFlight

Devcommit pull

report issue

check

Jenkins job for iOS

code analysis unit test

build release note

Testing is spec

Testing is memoryIf you can’t remember how you die(crash) last time. How to evolute your software?

About testing is spec

API TestingBack-End Front-End

Everyone can read test. Change spec with pull request. Fix issue with new test. If API testing works means all private methods works too. Database should be the part of testing.

See you next round

Referencehttp://kevjenkins.blogspot.tw http://www.dotblogs.com.tw/hatelove/archive/2011/12/25/introducing-continuous-integration.aspx http://ithelp.ithome.com.tw/question/10102931 http://gliyao.logdown.com/posts/2014/01/18/software-talk-about-test-driven-development-test-driven-development-i

top related