Ben Chou – Software Engineer
• Continuous Integration (CI)
‒ What is that?
‒ Any Benefit ?
• Jenkins CI Server
‒ Who uses Jenkins?
‒ What's Jenkins?
‒ Jenkins workflow
‒ Why Jenkins?
‒ Where to Get?
‒ How to Install & Launch?
• Jenkins Plugins
• Jenkins Demo
CI - Defined
Continuous Integration is a software development practice where
members of a team integrate their work frequently, usually each
person integrates at least daily - leading to multiple integrations per
day. Each integration is verified by an automated build (including test)
to detect integration errors as quickly as possible. Many teams find
that this approach leads to significantly reduced integration problems
and allows a team to develop cohesive software more rapidly.
- Martin Fowler
CI – Benefit
• Immediate (or earlier) bug detection
• No specific “Integration step” in the lifecycle
• Produce deploy-able system at any given point in anytime
• Record of evolution of the project
• Reduce redundancy human process
• Make higher project transparency
• Build a better confidence of the product
Perhaps, you would like to know more
• An Implementation of CI Server
• Open Source project , cross-platform
• Under development since 2005 (Sun
• Branched from Hudson
• Java based Continuous Build System
• Distributed under the MIT License
• Runs in Java servlet container
‒ Glassfish, Tomcat
• Supported by over 1000+ plugins
• Bossie Awards 2014:
‒ The best open source application development tools
• Geek Choice Award 2014
• DevOps & SCM and SDTimes 100
‒ 2010 ~ 2014
• InfoWorld Bossies Award, 2011
• O'Reilly Open-Source Award, 2011
• Duke's Choice Award 2008
Refer to: https://wiki.jenkins-ci.org/display/JENKINS/Awards
Why Jenkins CI
• Replace the traditional development process about
working on Quality Assurance almost in the endof
‒ Improve Software Quality
‒ Decrease execution time consumption while bug production
at integration time
‒ Found the problem/bugs/issues in time easily
‒ Overall process can be automation
‒ Combine with software development tool
‒ Version Control , Auto-Build , Auto-Testing , Auto-Deploy...etc
‒ Error notification and issue tracker
Jenkins wants to resolve the problem......
Useful/Common Software Development “idiom”:)
10. "It's never done that before."
9. "It worked yesterday."
8. "It must be a hardware problem."
7. "I haven't touched that module in weeks!"
6. "You must have the wrong version."
5. "I can't test everything!"
4. "It works, but it hasn't been tested."
3. "Somebody must have changed my code."
2. "Why do you want to do it that way?"
TOP 1. "It works on my machine."
• Continuous integration systems are a vital part of any
Agile team because they help enforce the ideals of Agile
• Jenkins, enables teams to focus on their work by
automating the build, artifact management, and
• Jenkins’ core functionality and flexibility allow it to fit
in a variety of environments and can help streamline the
development process for all stakeholders involved
Have a Lot of Fun, and Join
This document is not to be construed as a promise by any participating organisation to develop,
deliver, or market a product. It is not a commitment to deliver any material, code, or
functionality, and should not be relied upon in making purchasing decisions. openSUSE makes
no representations or warranties with respect to the contents of this document, and specifically
disclaims any express or implied warranties of merchantability or fitness for any particular
purpose. The development, release, and timing of features or functionality described for
openSUSE products remains at the sole discretion of openSUSE. Further, openSUSE reserves the
right to revise this document and to make changes to its content, at any time, without obligation
to notify any person or entity of such revisions or changes. All openSUSE marks referenced in this
presentation are trademarks or registered trademarks of SUSE LLC, in the United States and
other countries. All third-party trademarks are the property of their respective owners.
This slide deck is licensed under the Creative Commons Attribution-ShareAlike 4.0
International license. It can be shared and adapted for any purpose (even commercially) as
long as Attribution is given and any derivative work is distributed under the same license.
Details can be found at https://creativecommons.org/licenses/by-sa/4.0/
Design & Inspiration
openSUSE Design Team