SlideShare a Scribd company logo
1 of 33
Download to read offline
Continuous Integration
     with Jenkins
   中華電信研究院 黃培棠
     beta@cht.com.tw
       2013/03/14
2
Just one click!




                  3
TOP 10 BEST GODZILLA FILMS by Calum Waddell, http://www.scifinow.co.uk/top-tens/29950/top-10-best-godzilla-films/   4
Fail Early,
 Fail Fast,
  Fail Often.

                5
Continuous Integration

                 It is the practice of merging
                    all developer workspaces
                     with a shared mainline
                       several times a day.



http://en.wikipedia.org/wiki/Continuous_integration   6
Continuous What?
• Build
• Test
    – Unit tests, integration tests…
•   Analysis
•   Feedback
•   Publish
•   Deploy
•   ... most tedious things!

                                       7
What To Be Integrated?
•   People
•   Code
•   Environment
•   Report
•   Thought
•   ... everything valuable!



                                 8
OR NOTIFY?




Why Developers <3 CI: A Guide to Loving Continuous Integration by Rebel Labs   9
http://zeroturnaround.com/rebellabs/why-developers-love-ci/
Jez Humble, David Farley, Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation,   10
2010, Addison-Wesly
Jez Humble, David Farley, Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation,   11
2010, Addison-Wesly
Ticket for CI
•   SCM system
•   Build scripts/tools
•   Automated test cases
•   Artifact repository
•   Fast, highly available machines
•   Open-minded members



                                      12
Power Tools
            CI Servers            Build Automation Tools     Artifact Repositories   Test Frameworks   Code Analysis




Why Developers <3 CI: A Guide to Loving Continuous Integration by Rebel Labs                                           13
http://zeroturnaround.com/rebellabs/why-developers-love-ci/
Paul M. Duvall et al, Continuous Integration: Improving Software Quality and Reducing Risk, 2007, Addison-Wesley   14
Introducing to Butler with Bowtie:

Jenkins


                                     15
Personal Information
• Child of Kohsuke Kawaguchi (川口耕介)
• Renamed from Hudson
  – Had cosmetic surgery at the same time




                portrait before the surgery
                                              16
Skills
• 耐操、有擋頭
 – 不遲到、不早退
 – 不會亂吠
• 專心
 – 不會上 facebook, YouTube
• 記性好
 – 不會忘了改什麼設定,或忘了按 commit 就下班
• 便宜
                           17
Running Jenkins
    • Download
           – http://mirrors.jenkins-ci.org/war-stable/latest/jenkins.war
    • Run
              java -jar jenkins.war [--httpPort=8080]

    • Play around
           – http://localhost:8080/



https://wiki.jenkins-ci.org/display/JENKINS/Starting+and+Accessing+Jenkins   18
19
Built-in Plugins




                   20
Work Behind Proxy




       Is it really a part of Update Center?   21
Thanks Maven POM




                   22
Just Tell Him What to Build




                              23
CI Practices
    • Everyone commits at least once a day.
    • Keep the build fast.
            – An unit test is just an UNIT test.
            – Replace dependencies with mocks.
    • 100% of tests must pass for every build.
    • Fixing broken builds is of the highest priority.
    • Someone review reports generated by the build.

http://www.martinfowler.com/articles/continuousIntegration.html & Paul M. Duvall et al, Continuous Integration   24
Action!
      25
Jenkins++


            26
s/green/blue/g
    • It's not for color blind users.
    • It's all about         (influenced by                                     ):




    • Green Balls Plugin
                                                青                Cyan #00FFFF



            – https://wiki.jenkins-ci.org/display/JENKINS/Green+Balls

http://jenkins-ci.org/content/why-does-jenkins-have-blue-balls                       27
• Gravatar - Globally Recognized Avatar
• Register your own avatar
   – at https://en.gravatar.com/
• Easy identification easy




                                          28
Static Code Analyses
•   Checkstyle
•   DRY
•   FindBugs
•   PMD
•   Compiler Warnings
•   Task Scanner
    – TODO, FIXME, XXX...


                                 29
Disk Usage
• Keep watching!




                            30
CI Game
• Go top!




                      31
Build Pipeline




                 32
Extreme Feedback




Continuous Integration using Jenkins by Chris Shenton, http://koansys.com/tech/jenkins/jenkins-ci-pdf/view   33

More Related Content

What's hot

What's hot (6)

Modern Agile - Keynote at Agile2016
Modern Agile - Keynote at Agile2016Modern Agile - Keynote at Agile2016
Modern Agile - Keynote at Agile2016
 
TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribui...
TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribui...TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribui...
TechDay: Approcci moderni allo sviluppo software: la sfida dei team distribui...
 
Scalable system operations presentation
Scalable system operations presentationScalable system operations presentation
Scalable system operations presentation
 
Techniques to speed up your build pipeline
Techniques to speed up your build pipelineTechniques to speed up your build pipeline
Techniques to speed up your build pipeline
 
How Build Infrastructure Powers the Node.js Foundation
How Build Infrastructure Powers the Node.js FoundationHow Build Infrastructure Powers the Node.js Foundation
How Build Infrastructure Powers the Node.js Foundation
 
Patterns and antipatterns in Docker image lifecycle as was presented at Globa...
Patterns and antipatterns in Docker image lifecycle as was presented at Globa...Patterns and antipatterns in Docker image lifecycle as was presented at Globa...
Patterns and antipatterns in Docker image lifecycle as was presented at Globa...
 

Similar to Continuous integration with jenkins

Continuous delivery applied
Continuous delivery appliedContinuous delivery applied
Continuous delivery applied
Mike McGarr
 
SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA
 
Continuous Integration and Delivery
Continuous Integration and DeliveryContinuous Integration and Delivery
Continuous Integration and Delivery
Brandon Cornett
 
Automating development-operations-v1
Automating development-operations-v1Automating development-operations-v1
Automating development-operations-v1
Sumanth Vepa
 

Similar to Continuous integration with jenkins (20)

Core Principles Of Ci
Core Principles Of CiCore Principles Of Ci
Core Principles Of Ci
 
Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)
 
Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)
 
Continuous delivery applied
Continuous delivery appliedContinuous delivery applied
Continuous delivery applied
 
Continuous Delivery Applied
Continuous Delivery AppliedContinuous Delivery Applied
Continuous Delivery Applied
 
Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)
 
Continuous Delivery Applied
Continuous Delivery AppliedContinuous Delivery Applied
Continuous Delivery Applied
 
Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)
 
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
 
Introduction to Continuous Integration
Introduction to Continuous IntegrationIntroduction to Continuous Integration
Introduction to Continuous Integration
 
Continuous delivery - tools and techniques
Continuous delivery - tools and techniquesContinuous delivery - tools and techniques
Continuous delivery - tools and techniques
 
Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable product
 
SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612
 
PittsburgJUG_Cloud-Native Dev Tools: Bringing the cloud back to earth
PittsburgJUG_Cloud-Native Dev Tools: Bringing the cloud back to earthPittsburgJUG_Cloud-Native Dev Tools: Bringing the cloud back to earth
PittsburgJUG_Cloud-Native Dev Tools: Bringing the cloud back to earth
 
Towards Continuous Delivery in Mobile Apps
Towards Continuous Delivery in Mobile AppsTowards Continuous Delivery in Mobile Apps
Towards Continuous Delivery in Mobile Apps
 
Continuous Integration and Delivery
Continuous Integration and DeliveryContinuous Integration and Delivery
Continuous Integration and Delivery
 
Ci in jenkins with openSUSE
Ci in jenkins with openSUSECi in jenkins with openSUSE
Ci in jenkins with openSUSE
 
Continuous Integration at T3CON08
Continuous Integration at T3CON08Continuous Integration at T3CON08
Continuous Integration at T3CON08
 
Recipes for Continuous Delivery (ThoughtWorks Geeknight)
Recipes for Continuous Delivery (ThoughtWorks Geeknight)Recipes for Continuous Delivery (ThoughtWorks Geeknight)
Recipes for Continuous Delivery (ThoughtWorks Geeknight)
 
Automating development-operations-v1
Automating development-operations-v1Automating development-operations-v1
Automating development-operations-v1
 

Recently uploaded

Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
FIDO Alliance
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
UXDXConf
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
FIDO Alliance
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
FIDO Alliance
 

Recently uploaded (20)

Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 

Continuous integration with jenkins

  • 1. Continuous Integration with Jenkins 中華電信研究院 黃培棠 beta@cht.com.tw 2013/03/14
  • 2. 2
  • 4. TOP 10 BEST GODZILLA FILMS by Calum Waddell, http://www.scifinow.co.uk/top-tens/29950/top-10-best-godzilla-films/ 4
  • 5. Fail Early, Fail Fast, Fail Often. 5
  • 6. Continuous Integration It is the practice of merging all developer workspaces with a shared mainline several times a day. http://en.wikipedia.org/wiki/Continuous_integration 6
  • 7. Continuous What? • Build • Test – Unit tests, integration tests… • Analysis • Feedback • Publish • Deploy • ... most tedious things! 7
  • 8. What To Be Integrated? • People • Code • Environment • Report • Thought • ... everything valuable! 8
  • 9. OR NOTIFY? Why Developers <3 CI: A Guide to Loving Continuous Integration by Rebel Labs 9 http://zeroturnaround.com/rebellabs/why-developers-love-ci/
  • 10. Jez Humble, David Farley, Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation, 10 2010, Addison-Wesly
  • 11. Jez Humble, David Farley, Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation, 11 2010, Addison-Wesly
  • 12. Ticket for CI • SCM system • Build scripts/tools • Automated test cases • Artifact repository • Fast, highly available machines • Open-minded members 12
  • 13. Power Tools CI Servers Build Automation Tools Artifact Repositories Test Frameworks Code Analysis Why Developers <3 CI: A Guide to Loving Continuous Integration by Rebel Labs 13 http://zeroturnaround.com/rebellabs/why-developers-love-ci/
  • 14. Paul M. Duvall et al, Continuous Integration: Improving Software Quality and Reducing Risk, 2007, Addison-Wesley 14
  • 15. Introducing to Butler with Bowtie: Jenkins 15
  • 16. Personal Information • Child of Kohsuke Kawaguchi (川口耕介) • Renamed from Hudson – Had cosmetic surgery at the same time portrait before the surgery 16
  • 17. Skills • 耐操、有擋頭 – 不遲到、不早退 – 不會亂吠 • 專心 – 不會上 facebook, YouTube • 記性好 – 不會忘了改什麼設定,或忘了按 commit 就下班 • 便宜 17
  • 18. Running Jenkins • Download – http://mirrors.jenkins-ci.org/war-stable/latest/jenkins.war • Run java -jar jenkins.war [--httpPort=8080] • Play around – http://localhost:8080/ https://wiki.jenkins-ci.org/display/JENKINS/Starting+and+Accessing+Jenkins 18
  • 19. 19
  • 21. Work Behind Proxy Is it really a part of Update Center? 21
  • 23. Just Tell Him What to Build 23
  • 24. CI Practices • Everyone commits at least once a day. • Keep the build fast. – An unit test is just an UNIT test. – Replace dependencies with mocks. • 100% of tests must pass for every build. • Fixing broken builds is of the highest priority. • Someone review reports generated by the build. http://www.martinfowler.com/articles/continuousIntegration.html & Paul M. Duvall et al, Continuous Integration 24
  • 25. Action! 25
  • 26. Jenkins++ 26
  • 27. s/green/blue/g • It's not for color blind users. • It's all about (influenced by ): • Green Balls Plugin 青 Cyan #00FFFF – https://wiki.jenkins-ci.org/display/JENKINS/Green+Balls http://jenkins-ci.org/content/why-does-jenkins-have-blue-balls 27
  • 28. • Gravatar - Globally Recognized Avatar • Register your own avatar – at https://en.gravatar.com/ • Easy identification easy 28
  • 29. Static Code Analyses • Checkstyle • DRY • FindBugs • PMD • Compiler Warnings • Task Scanner – TODO, FIXME, XXX... 29
  • 30. Disk Usage • Keep watching! 30
  • 31. CI Game • Go top! 31
  • 33. Extreme Feedback Continuous Integration using Jenkins by Chris Shenton, http://koansys.com/tech/jenkins/jenkins-ci-pdf/view 33