SlideShare una empresa de Scribd logo
1 de 27
Continues Integration
        Development
           Reporter : PRADA Hsiung




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




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.
The Joel Test
     有用原始碼控制系統?        SVN
     能一步驟建出所有結果? Makefile
     有每天都重新編譯建立(daily builds)?     Jenkins
     有問題追蹤資料庫(bug database)? JIRA
     你會先把問題都修好之後才寫新的程式?
     有最新的時程表?
     有規格書? CORAL
     程式人員有沒有安靜的工作環境?
     用市面上最好的工具?
     有測試人員?
     在面試時要求面試對象寫程式?
     有做走廊使用性(hallway usability)測試?

Aplix Confidential and Restricted   Copyright 2009 Aplix Corporation. All rights reserved.
The Step for Develop a Software



                        Version
                        Control
                                Config



  Planning               Coding                   Build                      Test            Publish




                          Issue
                                               Compile
                          Track




Aplix Confidential and Restricted   Copyright 2009 Aplix Corporation. All rights reserved.
What’s thing Jenkins do?

                    Version
                    Control
                            Config



Planning            Coding                  Build                      Test                  Publish




                      Issue
                                         Compile
                      Track




Aplix Confidential and Restricted   Copyright 2009 Aplix Corporation. All rights reserved.
Problem 1
         Always Worst a lot of time for
         everybody



Aplix Confidential and Restricted   Copyright 2009 Aplix Corporation. All rights reserved.
Before ..
      GameDB..
                                                                                                  Emulator
JJ>TT :麻煩build一版新的war
TT >GG:幫我把war放到server
(過了十分鐘)
:弄好了                                                                                         JJ -> AA: give me the newest gamedb
TT >JJ:GG>TT弄好了                                                                              bundle emulator
JJ>BB :開始測吧                                                                                  (past 30 min)
(過了三十分鐘)                                                                                     AA-> JJ : give you a emulator.rar on
BB>JJ:Done.                                                                                  LAIN
                                                                                             JJ -> 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最新的war
      TT >GG:幫我把war放到server
      (過了十分鐘)                                                                                (過了十分鐘)
      GG>TT:弄好了                                                                              BB >JJ:有問題
      TT >JJ:弄好了                                                                             JJ>TT:有問題,快修
      JJ>BB:開始測吧                                                                             (過了十分鐘)
      (過了十分鐘)                                                                                TT >GG:剛資料庫連錯,再幫放一次
      BB >JJ:有問題                                                                             (過了十分鐘)
      JJ>TT:有問題,快修                                                                           GG>TT:弄好了
      (過了十分鐘)                                                                                TT >JJ:弄好了
      TT >GG:build錯版本了,再幫忙放一次                                                                JJ>BB:開始測吧
      (過了十分鐘)                                                                                BB >JJ:不行,我要回家吃飯了.
      GG>TT:弄好了
      TT >JJ:弄好了
      JJ>BB:開始測吧

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

                                                                                             Emulator
                                                                           JJ -> 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
        Member Counting                                      Total
                                                                                        JJ        2m + 5m      7m
        JJ                2m + 5m + 5m                       12m
                                                                                        TT                     0m
        TT                10m + 5m + 5m                      20m
                                                                                        GG                     0m
        GG                10m + 5m                           15m
                                                                                        BB        30m + 5 m    35m
        BB                30m + 5 m                          35m
                                                                                        Jenkins   10m + 10 m   20m




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

    GameDB Worst Case

        Member Counting                                            Total                     Member    Counting          Tota
        JJ                2+5+5+5                                  17m                       JJ        2+5+5             12m
        TT                5+10+5+5+10+5+5                          60m                       TT        5+10+5+10         20m
                          +10+5                                                              GG                          0m
        GG                5+10+5+10+5+10                           45m                       BB        5+30+5+30+5+30    105
        BB                5+30+5+30+5+30                           105m                      Jenkins   10+10+10+10+10+   60m
                                                                                                       10


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

                     Emulator..                                                                              57min
62min
         Member Counting                                      Total                     Member Counting       Total
         JJ                2m + 5m + 5m                       12m                       JJ        2m + 5m     12m
         AA                30m + 5m                           35m                       AA                    0m
         RR                10m + 5m                           15m                       RR        10m + 5m    15m
                                                                                        Jenkins   30m         30m




Aplix Confidential and Restricted   Copyright 2009 Aplix Corporation. All rights reserved.
Problem 2
                             The 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 3
           People Always Make Mistake




Aplix Confidential and Restricted   Copyright 2009 Aplix Corporation. All rights reserved.
Before ..
                                                                                    有人亂改我的code
              我忘記加一個參數

                                                                                               少commit一個檔案
                        我拿到舊的code


                                                資料庫位置錯了                                        檔案不是最新的!


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




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.war
     Fashion :The web UI
     Easy to update
     Easy to extend new
     feature(over 1000 Plugin)
     Mobile support
     Easy to scale out

  Aplix Confidential and Restricted
https://wiki.jenkins-ci.org/display/JENKINS/Plugins#Plugins-ListViewcolumnplugins
                                    Copyright 2009 Aplix Corporation. All rights reserved.
Flowchart

         Checkout
         Run Test Case
         Build Project
         Collect Report
         Deploy
           Tag JIRA Version
           Tag SVN version
         Send E-mail

Aplix Confidential and Restricted   Copyright 2009 Aplix Corporation. All rights reserved.
CI Env.
                                                           SVN                                         RD
                                                               SVN
                                                          SVN


      Windows

         Linux                           Jenkins                                 JIRA
                                                                                                        QA
      Windows




                                            Test                   Prod.                      ICT
                                           Server                  Server                    Server   Manager
Aplix Confidential and Restricted   Copyright 2009 Aplix Corporation. All rights reserved.
Conclusion
                                                         Conclusion

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

                                                                                             …PRADA Hsiung




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




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

Más contenido relacionado

Destacado

Ecosistemas de Desarrollo Software - Automatización
Ecosistemas de Desarrollo Software - AutomatizaciónEcosistemas de Desarrollo Software - Automatización
Ecosistemas de Desarrollo Software - AutomatizaciónManuel Jesús Recena Soto
 
2011 04 ecosistemas software de soporte a la integración continua
2011 04 ecosistemas software de soporte a la integración continua2011 04 ecosistemas software de soporte a la integración continua
2011 04 ecosistemas software de soporte a la integración continuaJuan José Guerra Martín
 
Introduccion y entorno al software de presentaciones 2010
Introduccion y entorno al software de presentaciones 2010Introduccion y entorno al software de presentaciones 2010
Introduccion y entorno al software de presentaciones 2010Ozkr Velásquez
 
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicaciones
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicacionesGit y Jenkins. El futuro en la gestión del ciclo de vida de aplicaciones
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicacionesParadigma Digital
 
On Software Release Engineering (Bram Adams)
On Software Release Engineering (Bram Adams)On Software Release Engineering (Bram Adams)
On Software Release Engineering (Bram Adams)Bram Adams
 
Continuous Integration - Going from Zero to Hero
Continuous Integration - Going from Zero to HeroContinuous Integration - Going from Zero to Hero
Continuous Integration - Going from Zero to HeroAngel Nuñez
 
Software Modernization for the Digital Economy
Software Modernization for the Digital EconomySoftware Modernization for the Digital Economy
Software Modernization for the Digital EconomyZinnov
 
Introducción a JBoss
Introducción a JBossIntroducción a JBoss
Introducción a JBossIker Canarias
 
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...Sonatype
 
10 Event Technology Trends to Watch in 2016
10 Event Technology Trends to Watch in 201610 Event Technology Trends to Watch in 2016
10 Event Technology Trends to Watch in 2016Eventbrite UK
 

Destacado (13)

Ecosistemas de Desarrollo Software - Automatización
Ecosistemas de Desarrollo Software - AutomatizaciónEcosistemas de Desarrollo Software - Automatización
Ecosistemas de Desarrollo Software - Automatización
 
2011 04 ecosistemas software de soporte a la integración continua
2011 04 ecosistemas software de soporte a la integración continua2011 04 ecosistemas software de soporte a la integración continua
2011 04 ecosistemas software de soporte a la integración continua
 
Introduccion y entorno al software de presentaciones 2010
Introduccion y entorno al software de presentaciones 2010Introduccion y entorno al software de presentaciones 2010
Introduccion y entorno al software de presentaciones 2010
 
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicaciones
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicacionesGit y Jenkins. El futuro en la gestión del ciclo de vida de aplicaciones
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicaciones
 
Integracion Continua
Integracion ContinuaIntegracion Continua
Integracion Continua
 
On Software Release Engineering (Bram Adams)
On Software Release Engineering (Bram Adams)On Software Release Engineering (Bram Adams)
On Software Release Engineering (Bram Adams)
 
Una introducción a la Integración continua
Una introducción a la Integración continuaUna introducción a la Integración continua
Una introducción a la Integración continua
 
Continuous Integration - Going from Zero to Hero
Continuous Integration - Going from Zero to HeroContinuous Integration - Going from Zero to Hero
Continuous Integration - Going from Zero to Hero
 
Administrando Jboss
Administrando JbossAdministrando Jboss
Administrando Jboss
 
Software Modernization for the Digital Economy
Software Modernization for the Digital EconomySoftware Modernization for the Digital Economy
Software Modernization for the Digital Economy
 
Introducción a JBoss
Introducción a JBossIntroducción a JBoss
Introducción a JBoss
 
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
 
10 Event Technology Trends to Watch in 2016
10 Event Technology Trends to Watch in 201610 Event Technology Trends to Watch in 2016
10 Event Technology Trends to Watch in 2016
 

Más de PRADA Hsiung

Dive into Kotlin Delegation implementation to solve the obfuscation issue
Dive into Kotlin Delegation implementation to solve the obfuscation issue Dive into Kotlin Delegation implementation to solve the obfuscation issue
Dive into Kotlin Delegation implementation to solve the obfuscation issue PRADA Hsiung
 
U/T/B-Driven Development
U/T/B-Driven Development U/T/B-Driven Development
U/T/B-Driven Development PRADA Hsiung
 
Job-to-be-done theory to practice : Ch4 Process
Job-to-be-done theory to practice : Ch4 ProcessJob-to-be-done theory to practice : Ch4 Process
Job-to-be-done theory to practice : Ch4 ProcessPRADA Hsiung
 
20180524 Android Taipei : RxJava Threading
20180524 Android Taipei : RxJava Threading20180524 Android Taipei : RxJava Threading
20180524 Android Taipei : RxJava ThreadingPRADA Hsiung
 
Why reactive programing matter, and how PicCollage adaptive it.
Why reactive programing matter, and how PicCollage adaptive it.Why reactive programing matter, and how PicCollage adaptive it.
Why reactive programing matter, and how PicCollage adaptive it.PRADA Hsiung
 
Introduce Flutter Development
Introduce Flutter DevelopmentIntroduce Flutter Development
Introduce Flutter DevelopmentPRADA Hsiung
 
JTBD case study : Uber Rider App
JTBD case study : Uber Rider AppJTBD case study : Uber Rider App
JTBD case study : Uber Rider AppPRADA Hsiung
 
20180124 android taipei_arinterface
20180124 android taipei_arinterface20180124 android taipei_arinterface
20180124 android taipei_arinterfacePRADA Hsiung
 
JSON's big problem android_taipei_201709
JSON's big problem android_taipei_201709JSON's big problem android_taipei_201709
JSON's big problem android_taipei_201709PRADA Hsiung
 
ARText in Cocoaheads Taipei 201709
ARText in Cocoaheads Taipei 201709ARText in Cocoaheads Taipei 201709
ARText in Cocoaheads Taipei 201709PRADA Hsiung
 
PicCollage - modules map
PicCollage - modules mapPicCollage - modules map
PicCollage - modules mapPRADA Hsiung
 
COSCUP 2017 FACE OFF
COSCUP 2017 FACE OFFCOSCUP 2017 FACE OFF
COSCUP 2017 FACE OFFPRADA Hsiung
 
IO17就是講義氣
IO17就是講義氣IO17就是講義氣
IO17就是講義氣PRADA Hsiung
 
20160929 android taipei_tensorflow
20160929 android taipei_tensorflow20160929 android taipei_tensorflow
20160929 android taipei_tensorflowPRADA Hsiung
 
Firebase analytics event_201607
Firebase analytics event_201607Firebase analytics event_201607
Firebase analytics event_201607PRADA Hsiung
 
臉 - The Face Detection Functions on Android
臉 - The Face Detection Functions on Android臉 - The Face Detection Functions on Android
臉 - The Face Detection Functions on AndroidPRADA Hsiung
 
20150423 Android Taipei : 祖克伯F8的奇幻之旅
20150423 Android Taipei : 祖克伯F8的奇幻之旅20150423 Android Taipei : 祖克伯F8的奇幻之旅
20150423 Android Taipei : 祖克伯F8的奇幻之旅PRADA Hsiung
 
網碼邊界(Edge of Network Libs)
網碼邊界(Edge of Network Libs)網碼邊界(Edge of Network Libs)
網碼邊界(Edge of Network Libs)PRADA Hsiung
 
那些年,我們一起玩的萬花筒(Kaliedoscopic)
那些年,我們一起玩的萬花筒(Kaliedoscopic)那些年,我們一起玩的萬花筒(Kaliedoscopic)
那些年,我們一起玩的萬花筒(Kaliedoscopic)PRADA Hsiung
 
安小姐與詹先生的邂逅 Android + Jenkins
安小姐與詹先生的邂逅 Android + Jenkins安小姐與詹先生的邂逅 Android + Jenkins
安小姐與詹先生的邂逅 Android + JenkinsPRADA Hsiung
 

Más de PRADA Hsiung (20)

Dive into Kotlin Delegation implementation to solve the obfuscation issue
Dive into Kotlin Delegation implementation to solve the obfuscation issue Dive into Kotlin Delegation implementation to solve the obfuscation issue
Dive into Kotlin Delegation implementation to solve the obfuscation issue
 
U/T/B-Driven Development
U/T/B-Driven Development U/T/B-Driven Development
U/T/B-Driven Development
 
Job-to-be-done theory to practice : Ch4 Process
Job-to-be-done theory to practice : Ch4 ProcessJob-to-be-done theory to practice : Ch4 Process
Job-to-be-done theory to practice : Ch4 Process
 
20180524 Android Taipei : RxJava Threading
20180524 Android Taipei : RxJava Threading20180524 Android Taipei : RxJava Threading
20180524 Android Taipei : RxJava Threading
 
Why reactive programing matter, and how PicCollage adaptive it.
Why reactive programing matter, and how PicCollage adaptive it.Why reactive programing matter, and how PicCollage adaptive it.
Why reactive programing matter, and how PicCollage adaptive it.
 
Introduce Flutter Development
Introduce Flutter DevelopmentIntroduce Flutter Development
Introduce Flutter Development
 
JTBD case study : Uber Rider App
JTBD case study : Uber Rider AppJTBD case study : Uber Rider App
JTBD case study : Uber Rider App
 
20180124 android taipei_arinterface
20180124 android taipei_arinterface20180124 android taipei_arinterface
20180124 android taipei_arinterface
 
JSON's big problem android_taipei_201709
JSON's big problem android_taipei_201709JSON's big problem android_taipei_201709
JSON's big problem android_taipei_201709
 
ARText in Cocoaheads Taipei 201709
ARText in Cocoaheads Taipei 201709ARText in Cocoaheads Taipei 201709
ARText in Cocoaheads Taipei 201709
 
PicCollage - modules map
PicCollage - modules mapPicCollage - modules map
PicCollage - modules map
 
COSCUP 2017 FACE OFF
COSCUP 2017 FACE OFFCOSCUP 2017 FACE OFF
COSCUP 2017 FACE OFF
 
IO17就是講義氣
IO17就是講義氣IO17就是講義氣
IO17就是講義氣
 
20160929 android taipei_tensorflow
20160929 android taipei_tensorflow20160929 android taipei_tensorflow
20160929 android taipei_tensorflow
 
Firebase analytics event_201607
Firebase analytics event_201607Firebase analytics event_201607
Firebase analytics event_201607
 
臉 - The Face Detection Functions on Android
臉 - The Face Detection Functions on Android臉 - The Face Detection Functions on Android
臉 - The Face Detection Functions on Android
 
20150423 Android Taipei : 祖克伯F8的奇幻之旅
20150423 Android Taipei : 祖克伯F8的奇幻之旅20150423 Android Taipei : 祖克伯F8的奇幻之旅
20150423 Android Taipei : 祖克伯F8的奇幻之旅
 
網碼邊界(Edge of Network Libs)
網碼邊界(Edge of Network Libs)網碼邊界(Edge of Network Libs)
網碼邊界(Edge of Network Libs)
 
那些年,我們一起玩的萬花筒(Kaliedoscopic)
那些年,我們一起玩的萬花筒(Kaliedoscopic)那些年,我們一起玩的萬花筒(Kaliedoscopic)
那些年,我們一起玩的萬花筒(Kaliedoscopic)
 
安小姐與詹先生的邂逅 Android + Jenkins
安小姐與詹先生的邂逅 Android + Jenkins安小姐與詹先生的邂逅 Android + Jenkins
安小姐與詹先生的邂逅 Android + Jenkins
 

Último

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 

Último (20)

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

Continues integration development

  • 1. Continues Integration Development Reporter : PRADA Hsiung Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.
  • 2. Outline Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.
  • 3. What’s CI? What’s the Quality of software? Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.
  • 4. The Joel Test 有用原始碼控制系統? SVN 能一步驟建出所有結果? Makefile 有每天都重新編譯建立(daily builds)? Jenkins 有問題追蹤資料庫(bug database)? JIRA 你會先把問題都修好之後才寫新的程式? 有最新的時程表? 有規格書? CORAL 程式人員有沒有安靜的工作環境? 用市面上最好的工具? 有測試人員? 在面試時要求面試對象寫程式? 有做走廊使用性(hallway usability)測試? Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.
  • 5. The Step for Develop a Software Version Control Config Planning Coding Build Test Publish Issue Compile Track Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.
  • 6. What’s thing Jenkins do? Version Control Config Planning Coding Build Test Publish Issue Compile Track Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.
  • 7. Problem 1 Always Worst a lot of time for everybody Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.
  • 8. Before .. GameDB.. Emulator JJ>TT :麻煩build一版新的war TT >GG:幫我把war放到server (過了十分鐘) :弄好了 JJ -> AA: give me the newest gamedb TT >JJ:GG>TT弄好了 bundle emulator JJ>BB :開始測吧 (past 30 min) (過了三十分鐘) AA-> JJ : give you a emulator.rar on BB>JJ:Done. LAIN JJ -> RR : 去angus的LAIN抓最新的來 測試ISSUE-5786 (過了十分鐘) RR-> JJ : OK, it’s work Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.
  • 9. Worst Case. GameDB.. JJ>TT:麻煩build最新的war TT >GG:幫我把war放到server (過了十分鐘) (過了十分鐘) GG>TT:弄好了 BB >JJ:有問題 TT >JJ:弄好了 JJ>TT:有問題,快修 JJ>BB:開始測吧 (過了十分鐘) (過了十分鐘) TT >GG:剛資料庫連錯,再幫放一次 BB >JJ:有問題 (過了十分鐘) JJ>TT:有問題,快修 GG>TT:弄好了 (過了十分鐘) TT >JJ:弄好了 TT >GG:build錯版本了,再幫忙放一次 JJ>BB:開始測吧 (過了十分鐘) BB >JJ:不行,我要回家吃飯了. GG>TT:弄好了 TT >JJ:弄好了 JJ>BB:開始測吧 Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.
  • 10. After .. GameDB.. JJ >Jenkins: 開始工作吧. Jenkins>JJ: 環境已替您準備好了 JJ >BB : 開始測吧 (Past 30 mins) BB >JJ: it’s work Emulator JJ -> Jenkins : 夥計開工了 Jenkins -> RR : 模擬器替您準備好了 (過了十分鐘) RR -> JJ : OK, it’s work Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.
  • 11. Conclusion Summary GameDB.. Member Counting Total Member Counting Total JJ 2m + 5m 7m JJ 2m + 5m + 5m 12m TT 0m TT 10m + 5m + 5m 20m GG 0m GG 10m + 5m 15m BB 30m + 5 m 35m BB 30m + 5 m 35m Jenkins 10m + 10 m 20m Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.
  • 12. Conclusion Summary GameDB Worst Case Member Counting Total Member Counting Tota JJ 2+5+5+5 17m JJ 2+5+5 12m TT 5+10+5+5+10+5+5 60m TT 5+10+5+10 20m +10+5 GG 0m GG 5+10+5+10+5+10 45m BB 5+30+5+30+5+30 105 BB 5+30+5+30+5+30 105m Jenkins 10+10+10+10+10+ 60m 10 Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.
  • 13. Conclusion Summary Emulator.. 57min 62min Member Counting Total Member Counting Total JJ 2m + 5m + 5m 12m JJ 2m + 5m 12m AA 30m + 5m 35m AA 0m RR 10m + 5m 15m RR 10m + 5m 15m Jenkins 30m 30m Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.
  • 14. Problem 2 The Magic Machine Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.
  • 15. Before .. 你電腦有毒吧? 在我電腦就可以 你少裝一個lib啦 工具的版本錯了阿 你設定寫錯了好嗎 環境設定寫錯了 這兩個版本不相容 昨天明明會動的啊! 在我的機器明明就可以動啊! 怎麼可能! 一定是你的資料有問題 這一定是機器的問題 Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.
  • 16. After .. Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.
  • 17. Conclusion Summary Jenkins環境純淨,保證產出的程式能安全使用 Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.
  • 18. Problem 3 People Always Make Mistake Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.
  • 19. Before .. 有人亂改我的code 我忘記加一個參數 少commit一個檔案 我拿到舊的code 資料庫位置錯了 檔案不是最新的! 我少做了一步驟 忘記拿掉那個Plugin Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.
  • 20. After .. Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.
  • 21. Conclusion Summary Jenkins 保證SVN的Code一定可用,且始終如一 Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.
  • 22. Why Jenkins? Hint.. Jenkins並非萬能,主要用 來改善程式碼編寫的習慣, 以達到高品質軟體,請聽眾 不要過分幻想。 Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.
  • 23. Why Jenkins? Benefit Easy to use: java –jar jenkins.war Fashion :The web UI Easy to update Easy to extend new feature(over 1000 Plugin) Mobile support Easy to scale out Aplix Confidential and Restricted https://wiki.jenkins-ci.org/display/JENKINS/Plugins#Plugins-ListViewcolumnplugins Copyright 2009 Aplix Corporation. All rights reserved.
  • 24. Flowchart Checkout Run Test Case Build Project Collect Report Deploy Tag JIRA Version Tag SVN version Send E-mail Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.
  • 25. CI Env. SVN RD SVN SVN Windows Linux Jenkins JIRA QA Windows Test Prod. ICT Server Server Server Manager Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.
  • 26. Conclusion Conclusion 方便,是為了花更多時間作更有意義的事情 …PRADA Hsiung Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.
  • 27. Reference Aplix Confidential and Restricted Copyright 2009 Aplix Corporation. All rights reserved.