2. 2
Agenda
• 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
4. 4
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
5. 5
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
6. 6
Perhaps, you would like to know more
About...
Scrum...
Agile Develop...
TDD...
DevOps...
OBS...
Chef...
SaltStack...
Docker...
Git/SVN...
Continuous Delivery(CD)...
openQA...
14. 14
What's Jenkins?
• An Implementation of CI Server
• Open Source project , cross-platform
• Under development since 2005 (Sun
Microsystems)
• 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
(3000~5000)
http://jenkins-ci.org/
https://github.com/jenkinsci
17. 17
Award Winning.
• 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
18. 18
Why Jenkins CI
• Replace the traditional development process about
working on Quality Assurance almost in the endof
development process.
‒ 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
20. 20
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!"
我不可能什麼功能都測試到吧,有 bug
是正常的!
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."
在我的機器明明就可以動啊!
29. 29
Summary
• Continuous integration systems are a vital part of any
Agile team because they help enforce the ideals of Agile
development
• Jenkins, enables teams to focus on their work by
automating the build, artifact management, and
deployment processes
• 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
31. 31
Have a Lot of Fun, and Join
Us At:
www.opensuse.org
32. General Disclaimer
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.
License
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/
Credits
Design & Inspiration
openSUSE Design Team
http://opensuse.github.io/branding-
guidelines/