32
Continuous Integration

Continuous Integration

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Continuous  Integration

Continuous Integration

Page 2: Continuous  Integration

iOS developerhttp://about.me/gliyao

Liyao Chen

Page 3: Continuous  Integration

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

Page 4: Continuous  Integration

Review

Page 5: Continuous  Integration

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

Page 6: Continuous  Integration

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

Page 7: Continuous  Integration

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

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

Page 8: Continuous  Integration

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

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

Content switch

Page 9: Continuous  Integration

TestFlight

Release note Access Test team manage

Beta Testing On The Fly

Page 10: Continuous  Integration

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

#13

#12

#11#14

#5

Page 11: Continuous  Integration

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

#13

#12

#11#14

#5

Release Note?

Page 12: Continuous  Integration

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

#13

#12

#11#14

#5

Release Note?

Page 13: Continuous  Integration

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

#12

#14

#13 #11#5

我要驗收哪些?

Release Note?

Page 14: Continuous  Integration

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

#12

#14v1 Release Note

#11 bug fixed -#13 bug fixed -

#13 #11#5

Release Note?

Page 15: Continuous  Integration

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

#12

#14

#13 #11#5

先關了驗過的v1 Release Note

#11 bug fixed -#13 bug fixed -

Release Note?

Page 16: Continuous  Integration

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

#12

#14

#5

怎麼還有⼀一個? 可能是

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

Release Note?

Page 17: Continuous  Integration

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

#12

#14

#5

把#5踢回給RD

Release Note?

Page 18: Continuous  Integration

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

#12

#14

#5

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

Release Note?

Page 19: Continuous  Integration

Devcommit pull

report issue

check issue

Without CI

Dev

code analysis unit test

build release note

Page 20: Continuous  Integration

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

Page 21: Continuous  Integration

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

Page 22: Continuous  Integration

Devcommit pull

report issue

check issue

With CI (Jenkins)

code analysis unit test

build release note

Page 23: Continuous  Integration

Devcommit pull

report issue

check

Jenkins job for iOS

code analysis unit test

build release note

Page 24: Continuous  Integration

Pull from repository

Page 25: Continuous  Integration

Unit test

Build & Archive

Page 26: Continuous  Integration

Upload to TestFlight

Page 27: Continuous  Integration

Devcommit pull

report issue

check

Jenkins job for iOS

code analysis unit test

build release note

Page 28: Continuous  Integration

Testing is spec

Page 29: Continuous  Integration

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

Page 30: Continuous  Integration

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.

Page 31: Continuous  Integration

See you next round

Page 32: Continuous  Integration

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