continues integration development

27
Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved. Continues Integration Development Reporter : PRADA Hsiung

Upload: prada-hsiung

Post on 15-Jan-2015

288 views

Category:

Technology


0 download

DESCRIPTION

promote the CI System(Jenkins) for staff.

TRANSCRIPT

Page 1: Continues integration development

Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.

Continues Integration DevelopmentReporter : PRADA Hsiung

Page 2: Continues integration development

Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.

Outline

What’s the CI?

Why Jenkins?

CI Environment in iaSolution

Case Study

Conclusion

Page 3: Continues integration development

Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.

What’s CI?What’s the Quality of software?

Page 4: Continues integration development

Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.

Jenkins

JIRA

CORAL

The Joel Test有用原始碼控制系統 ?

能一步驟建出所有結果 ?

有每天都重新編譯建立 (daily builds)?

有問題追蹤資料庫 (bug database)?

你會先把問題都修好之後才寫新的程式 ?

有最新的時程表 ?

有規格書 ?

程式人員有沒有安靜的工作環境 ?

用市面上最好的工具 ?

有測試人員 ?

在面試時要求面試對象寫程式 ?

有做走廊使用性 (hallway usability)測試 ?

Makefile

SVN

Page 5: Continues integration development

Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.

The Step for Develop a Software

ConfigVersionControl

Planning Coding Build

CompileIssueTrack

Test Publish

Page 6: Continues integration development

Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.

What’s thing Jenkins do?

ConfigVersionControl

Planning Coding Build

CompileIssueTrack

Test Publish

Page 7: Continues integration development

Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.

Problem 1Always Worst a lot of time for everybody

Page 8: Continues integration development

Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.

Before ..

GameDB..

JJ>TT :麻煩 build一版新的 warTT >GG:幫我把 war放到 server(過了十分鐘 ):弄好了TT >JJ:GG>TT弄好了JJ>BB :開始測吧(過了三十分鐘 )BB>JJ:Done.

Emulator

JJ -> AA: give me the newest gamedb-bundle emulator (past 30 min)AA-> JJ : give you a emulator.rar on LAINJJ -> RR : 去 angus的 LAIN抓最新的來測試 ISSUE-5786(過了十分鐘 )RR-> JJ : OK, it’s work

Page 9: Continues integration development

Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.

Worst Case.GameDB..

JJ>TT:麻煩 build最新的 warTT >GG:幫我把 war放到 server(過了十分鐘 )GG>TT:弄好了TT >JJ:弄好了JJ>BB:開始測吧(過了十分鐘 )BB >JJ:有問題JJ>TT:有問題 ,快修(過了十分鐘 )TT >GG:build錯版本了 ,再幫忙放一次(過了十分鐘 )GG>TT:弄好了TT >JJ:弄好了JJ>BB:開始測吧

(過了十分鐘 )BB >JJ:有問題JJ>TT:有問題 ,快修(過了十分鐘 )TT >GG:剛資料庫連錯 ,再幫放一次(過了十分鐘 )GG>TT:弄好了TT >JJ:弄好了JJ>BB:開始測吧BB >JJ:不行 ,我要回家吃飯了 .

Page 10: Continues integration development

Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.

After ..

GameDB..JJ >Jenkins: 開始工作吧 .Jenkins>JJ: 環境已替您準備好了JJ >BB : 開始測吧(Past 30 mins)BB >JJ: it’s work

EmulatorJJ -> Jenkins : 夥計開工了Jenkins -> RR : 模擬器替您準備好了(過了十分鐘 )RR -> JJ : OK, it’s work

Page 11: Continues integration development

Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.

Conclusion

Summary

GameDB..

Member Counting Total

JJ 2m + 5m + 5m 12m

TT 10m + 5m + 5m 20m

GG 10m + 5m 15m

BB 30m + 5 m 35m

Member Counting Total

JJ 2m + 5m 7m

TT 0m

GG 0m

BB 30m + 5 m 35m

Jenkins 10m + 10 m 20m

82min

62min

Page 12: Continues integration development

Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.

Conclusion

Summary

GameDB Worst Case

Member Counting Total

JJ 2+5+5+5 17m

TT 5+10+5+5+10+5+5+10+5

60m

GG 5+10+5+10+5+10 45m

BB 5+30+5+30+5+30 105m

Member Counting Total

JJ 2+5+5 12m

TT 5+10+5+10 20m

GG 0m

BB 5+30+5+30+5+30 105m

Jenkins 10+10+10+10+10+10

60m

227min

197min

Page 13: Continues integration development

Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.

Conclusion

Summary

Emulator..Member Counting Total

JJ 2m + 5m + 5m 12m

AA 30m + 5m 35m

RR 10m + 5m 15m

Member Counting Total

JJ 2m + 5m 12m

AA 0m

RR 10m + 5m 15m

Jenkins 30m 30m

62min

57min

Page 14: Continues integration development

Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.

Problem 2The Magic Machine

Page 15: Continues integration development

Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.

Before ..

你少裝一個 lib啦

工具的版本錯了阿

昨天明明會動的啊!

你設定寫錯了好嗎

這一定是機器的問題

怎麼可能 !

這兩個版本不相容

在我的機器明明就可以動啊! 

環境設定寫錯了

在我電腦就可以你電腦有毒吧?

一定是你的資料有問題

Page 16: Continues integration development

Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.

After ..

Page 17: Continues integration development

Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.

Conclusion

Summary

Jenkins環境純淨 ,保證產出的程式能安全使用

Page 18: Continues integration development

Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.

Problem 3People Always Make Mistake

Page 19: Continues integration development

Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.

Before ..

我忘記加一個參數

少 commit一個檔案

資料庫位置錯了

我拿到舊的 code

忘記拿掉那個 Plugin我少做了一步驟

檔案不是最新的 !

有人亂改我的 code

Page 20: Continues integration development

Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.

After ..

Page 21: Continues integration development

Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.

Conclusion

Summary

Jenkins 保證 SVN的 Code一定可用 ,且始終如一

Page 22: Continues integration development

Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.

Why Jenkins?Hint..

Jenkins並非萬能,主要用來改善程式碼編寫的習慣,以達到高品質軟體,請聽眾不要過分幻想。

Page 23: Continues integration development

Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.

Why Jenkins?Benefit

Easy to use: java –jar jenkins.warFashion :The web UI

Easy to updateEasy to extend new feature(over 1000 Plugin)

Mobile supportEasy to scale out

https://wiki.jenkins-ci.org/display/JENKINS/Plugins#Plugins-ListViewcolumnplugins

Page 24: Continues integration development

Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.

Flowchart

CheckoutRun Test CaseBuild ProjectCollect ReportDeployTag JIRA Version

Tag SVN versionSend E-mail

Page 25: Continues integration development

Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.

CI Env.SVN

SVNSVN

JIRAJenkins

Windows

Linux

Windows

TestServer

Prod.Server

ICTServer

RD

QA

Manager

Page 26: Continues integration development

Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.

Conclusion

Conclusion

方便,是為了花更多時間作更有意義的事情

…PRADA Hsiung