continues integration development

Post on 15-Jan-2015

289 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

promote the CI System(Jenkins) for staff.

TRANSCRIPT

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

Continues Integration DevelopmentReporter : PRADA Hsiung

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

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

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

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

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

The Step for Develop a Software

ConfigVersionControl

Planning Coding Build

CompileIssueTrack

Test Publish

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

What’s thing Jenkins do?

ConfigVersionControl

Planning Coding Build

CompileIssueTrack

Test Publish

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

Problem 1Always Worst a lot of time for everybody

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

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:不行 ,我要回家吃飯了 .

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

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

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

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

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

Problem 2The Magic Machine

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

Before ..

你少裝一個 lib啦

工具的版本錯了阿

昨天明明會動的啊!

你設定寫錯了好嗎

這一定是機器的問題

怎麼可能 !

這兩個版本不相容

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

環境設定寫錯了

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

一定是你的資料有問題

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

After ..

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

Conclusion

Summary

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

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

Problem 3People Always Make Mistake

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

Before ..

我忘記加一個參數

少 commit一個檔案

資料庫位置錯了

我拿到舊的 code

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

檔案不是最新的 !

有人亂改我的 code

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

After ..

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

Conclusion

Summary

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

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

Why Jenkins?Hint..

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

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

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

Flowchart

CheckoutRun Test CaseBuild ProjectCollect ReportDeployTag JIRA Version

Tag SVN versionSend E-mail

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

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

Conclusion

Conclusion

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

…PRADA Hsiung

top related