SlideShare a Scribd company logo
Continuous Integration (Jenkins/Hudson) Dennys  謝松廷
Agenda What’s Continuous Integration Jenkins/Hudson Features Plugin Security Management Demo Q&A
What’s Continuous Integration? In software engineering, continuous integration (CI) implements  continuous processes  of applying quality control - small pieces of effort, applied frequently. Continuous integration aims to improve the quality of software, and to reduce the time taken to deliver it, by replacing the traditional practice of applying quality control  after  completing all development.  Ref:  http://en.wikipedia.org/wiki/Continuous_integration
History Continuous Integration emerged in the Extreme Programming (XP) community, and XP advocates Martin Fowler and Kent Beck first wrote about continuous integration circa 1999.
Continuous Integration 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.  -- Martin Fowler Ref:  http://martinfowler.com/articles/continuousIntegration.html
Why Continuous Integration? Integration is hard, effort increase exponentially with Number of components Number of bugs Time since last integration Ref:  http://www.slideshare.net/carlo.bonamico/continuous-integration-with-hudson
Continuous Integration Benefit Project Management Detect system development problems earlier Reduce risks of cost, schedule, and budget Code Quality Measurable and visible code quality Continuous automatic regression unit test
Best Practice of CI Single Source Repository. Automate the Build and Test Everyone Commits Every Day Keep the Build Fast Everyone can see what's happening Automate Deployment (Optional)
Continuous Integration Tools Ref:  http://en.wikipedia.org/wiki/Comparison_of_Continuous_Integration_Software
Jenkins/Hudson
What’s Jenkins/Hudson An open source CI server More then 23000 installations (Jul 2010) Plug-in extensibility ( Over 370 plugins) MIT license
Continuous Integration Overview Ref:  http://www.javaworld.com/javaworld/jw-12-2008/images/CIOverview.jpg
CI Tool  Usage Ref:  http://java.dzone.com/node/28241/results Ref: http://www.wakaleo.com/resources/polls Total vote: 643 First Vote: 2010/02/12 Last Vote: 2011/03/08
Jenkins v.s.Hudson Jenkins: Original Hudson team Hudson: Oracle and Sonatype Ref:  http://jenkins-ci.org/content/hudsons-future
Jenkins Features Trigger a build Get source code from repository Automatically build and test Generate report & notify Deploy Distributed build
Jenkins Requirement Web Server (Tomcat, WebLogic, …) Build tool (Maven, Ant) SCM (Git, Svn, Cvs, …)
Jenkins Plugins Build triggers Source code management Build tools Build wrappers Build notifiers Build reports Artifact uploaders UI plugins Authentication and user management
Build Trigger Manually click build button Build periodically Build whenever a SNAPSHOT dependency is built Build after other projects are built Poll SCM IRC, Jabber, …
Get Source Code (1/2) CVS (build-in) SVN (build-in) GIT (requires Git) ClearCase (requires ClearCase) Mercurial, PVCS, VSS, …
Get Source Code (2/2) Get current snapshot Get baseline (tag)
Code Change History
Build Tools Java Maven (build-in), Ant, Gradle .Net MSBuild, PowerShell Shell script Python, Ruby, Groovy
Build Wrapper Build name (version no) setter Virtual machine (VMWare, Virtual Box) Set environment variable ClearCase release plugin …
Build Notifier E-mail Twitter Jabber IRC RSS Google calendar …
Build Report Static Code Analysis Checkstyle, PMD, Findbugs, Compiler Warning Test Report & Code Coverage JUnit, TestNG, Cobertura, Clover Open Tasks
Static Code Analysis
CheckStyle
FindBugs
Open Tag
Duplicate Code
Test Report
Test Code Coverage Ref:  http://cobertura.sourceforge.net/sample/
Artifact uploaders Tomcat JBoss Glassfish WebSphere FTP SSH
UI Enhancement Dashboard Sectioned view iPhone/Android
Security Management Security Realm LDAP Jenkins's own user database Delegate to servlet container Authorization Anyone can do anything Logged-in users can do anything Matrix-based security Project-based Matrix Authorization Strategy Legacy mode
Security Management Matrix-based security Project-based Matrix Authorization
Security Management Plugins Active directory, OpenID, MySQL, … Role based privilege control
Plugin Usage Statistics Ref:  http://jenkins-ci.org/content/updated-usage-stats-available
Features Not Mentioned Matrix project Distributed build
Demo
Questions & Answers

More Related Content

PPT
Jenkins Overview
PDF
Jenkins tutorial
PPTX
Jenkins CI
PDF
PDF
Jenkins
PPTX
PPTX
Jenkins CI presentation
PPT
CI and CD with Jenkins
Jenkins Overview
Jenkins tutorial
Jenkins CI
Jenkins
Jenkins CI presentation
CI and CD with Jenkins

What's hot (20)

PDF
Gitlab CI : Integration et Déploiement Continue
PPTX
Jenkins Introduction
PPTX
Jenkins tutorial for beginners
ODP
An Introduction To Jenkins
PPTX
Jenkins for java world
PPTX
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...
PPTX
Jenkins presentation
PPTX
Getting started with Jenkins
PDF
Yale Jenkins Show and Tell
PPTX
Kubernetes Networking 101
PDF
CI/CD (DevOps) 101
PDF
CI/CD Pipeline as a Code using Jenkins 2
PDF
What is Continuous Integration? | Continuous Integration with Jenkins | DevOp...
PDF
Automated testing with Cypress
PPTX
Introduction to Maven
PPTX
CI-Jenkins.pptx
PPTX
Introduction to Maven
PPTX
Azure DevOps in Action
PDF
Asp.Net Core MVC , Razor page , Entity Framework Core
PPTX
How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...
Gitlab CI : Integration et Déploiement Continue
Jenkins Introduction
Jenkins tutorial for beginners
An Introduction To Jenkins
Jenkins for java world
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...
Jenkins presentation
Getting started with Jenkins
Yale Jenkins Show and Tell
Kubernetes Networking 101
CI/CD (DevOps) 101
CI/CD Pipeline as a Code using Jenkins 2
What is Continuous Integration? | Continuous Integration with Jenkins | DevOp...
Automated testing with Cypress
Introduction to Maven
CI-Jenkins.pptx
Introduction to Maven
Azure DevOps in Action
Asp.Net Core MVC , Razor page , Entity Framework Core
How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...
Ad

Viewers also liked (20)

PPT
Continuous integration
PDF
Jenkins CI
PPTX
Steganography and watermarking
PPTX
Indic threads pune12-accelerating computation in html 5
PPTX
Elementos ETL - Kettle Pentaho
PDF
Jenkins Peru Meetup Docker Ecosystem
PDF
Clustering with Docker Swarm - Dockerops 2016 @ Cento (FE) Italy
PPTX
Scaling Jenkins with Docker and Kubernetes
PDF
Pentaho | Data Integration & Report designer
PPTX
Building Data Integration and Transformations using Pentaho
PPTX
Docker Ecosystem - Part II - Compose
PPSX
Business Intelligence and Big Data Analytics with Pentaho
PPTX
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
DOCX
Advanced ETL2 Pentaho
PDF
Scaling Jenkins with Docker: Swarm, Kubernetes or Mesos?
PPTX
Introduction to docker swarm
PDF
Tao zhang
PDF
Migración de datos con OpenERP-Kettle
PDF
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
PDF
Introduction to GPU Programming
Continuous integration
Jenkins CI
Steganography and watermarking
Indic threads pune12-accelerating computation in html 5
Elementos ETL - Kettle Pentaho
Jenkins Peru Meetup Docker Ecosystem
Clustering with Docker Swarm - Dockerops 2016 @ Cento (FE) Italy
Scaling Jenkins with Docker and Kubernetes
Pentaho | Data Integration & Report designer
Building Data Integration and Transformations using Pentaho
Docker Ecosystem - Part II - Compose
Business Intelligence and Big Data Analytics with Pentaho
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Advanced ETL2 Pentaho
Scaling Jenkins with Docker: Swarm, Kubernetes or Mesos?
Introduction to docker swarm
Tao zhang
Migración de datos con OpenERP-Kettle
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Introduction to GPU Programming
Ad

Similar to Continuous Integration (Jenkins/Hudson) (20)

PPTX
OVerview of Jenkins - A WIP pPT that needs to be refined
PPT
Introduction to continuous integration
PPTX
Continuous integration using jenkins
PPT
Part 2 improving your software development v1.0
PPT
Continuous Integration
PPT
Presentation 1 open source tools in continuous integration environment v1.0
PDF
Continuous Integration Introduction
PDF
Let’s start Continuous Integration with jenkins
PPT
Continuous Integration System
PPT
Continuous Integration Introduction
PPT
Continuous Integration: A Case Study
PPTX
Contineous integration
PDF
Jenkins_1679702972.pdf
PDF
jenkins.pdf
PDF
Continuous Integration using Jenkins
PPT
Technology standard ci_platforms
PPT
Technology standard ci_platforms
PPTX
Jenkins an opensource CICD platform for all
PPTX
OVerview of Jenkins - A WIP pPT that needs to be refined
Introduction to continuous integration
Continuous integration using jenkins
Part 2 improving your software development v1.0
Continuous Integration
Presentation 1 open source tools in continuous integration environment v1.0
Continuous Integration Introduction
Let’s start Continuous Integration with jenkins
Continuous Integration System
Continuous Integration Introduction
Continuous Integration: A Case Study
Contineous integration
Jenkins_1679702972.pdf
jenkins.pdf
Continuous Integration using Jenkins
Technology standard ci_platforms
Technology standard ci_platforms
Jenkins an opensource CICD platform for all

Recently uploaded (20)

PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Big Data Technologies - Introduction.pptx
PPT
Teaching material agriculture food technology
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Advanced Soft Computing BINUS July 2025.pdf
PDF
KodekX | Application Modernization Development
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Cloud computing and distributed systems.
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Empathic Computing: Creating Shared Understanding
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Network Security Unit 5.pdf for BCA BBA.
Spectral efficient network and resource selection model in 5G networks
Big Data Technologies - Introduction.pptx
Teaching material agriculture food technology
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Advanced Soft Computing BINUS July 2025.pdf
KodekX | Application Modernization Development
Advanced methodologies resolving dimensionality complications for autism neur...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Cloud computing and distributed systems.
Chapter 3 Spatial Domain Image Processing.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Empathic Computing: Creating Shared Understanding
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Network Security Unit 5.pdf for BCA BBA.

Continuous Integration (Jenkins/Hudson)

  • 2. Agenda What’s Continuous Integration Jenkins/Hudson Features Plugin Security Management Demo Q&A
  • 3. What’s Continuous Integration? In software engineering, continuous integration (CI) implements continuous processes of applying quality control - small pieces of effort, applied frequently. Continuous integration aims to improve the quality of software, and to reduce the time taken to deliver it, by replacing the traditional practice of applying quality control after completing all development. Ref: http://en.wikipedia.org/wiki/Continuous_integration
  • 4. History Continuous Integration emerged in the Extreme Programming (XP) community, and XP advocates Martin Fowler and Kent Beck first wrote about continuous integration circa 1999.
  • 5. Continuous Integration 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. -- Martin Fowler Ref: http://martinfowler.com/articles/continuousIntegration.html
  • 6. Why Continuous Integration? Integration is hard, effort increase exponentially with Number of components Number of bugs Time since last integration Ref: http://www.slideshare.net/carlo.bonamico/continuous-integration-with-hudson
  • 7. Continuous Integration Benefit Project Management Detect system development problems earlier Reduce risks of cost, schedule, and budget Code Quality Measurable and visible code quality Continuous automatic regression unit test
  • 8. Best Practice of CI Single Source Repository. Automate the Build and Test Everyone Commits Every Day Keep the Build Fast Everyone can see what's happening Automate Deployment (Optional)
  • 9. Continuous Integration Tools Ref: http://en.wikipedia.org/wiki/Comparison_of_Continuous_Integration_Software
  • 11. What’s Jenkins/Hudson An open source CI server More then 23000 installations (Jul 2010) Plug-in extensibility ( Over 370 plugins) MIT license
  • 12. Continuous Integration Overview Ref: http://www.javaworld.com/javaworld/jw-12-2008/images/CIOverview.jpg
  • 13. CI Tool Usage Ref: http://java.dzone.com/node/28241/results Ref: http://www.wakaleo.com/resources/polls Total vote: 643 First Vote: 2010/02/12 Last Vote: 2011/03/08
  • 14. Jenkins v.s.Hudson Jenkins: Original Hudson team Hudson: Oracle and Sonatype Ref: http://jenkins-ci.org/content/hudsons-future
  • 15. Jenkins Features Trigger a build Get source code from repository Automatically build and test Generate report & notify Deploy Distributed build
  • 16. Jenkins Requirement Web Server (Tomcat, WebLogic, …) Build tool (Maven, Ant) SCM (Git, Svn, Cvs, …)
  • 17. Jenkins Plugins Build triggers Source code management Build tools Build wrappers Build notifiers Build reports Artifact uploaders UI plugins Authentication and user management
  • 18. Build Trigger Manually click build button Build periodically Build whenever a SNAPSHOT dependency is built Build after other projects are built Poll SCM IRC, Jabber, …
  • 19. Get Source Code (1/2) CVS (build-in) SVN (build-in) GIT (requires Git) ClearCase (requires ClearCase) Mercurial, PVCS, VSS, …
  • 20. Get Source Code (2/2) Get current snapshot Get baseline (tag)
  • 22. Build Tools Java Maven (build-in), Ant, Gradle .Net MSBuild, PowerShell Shell script Python, Ruby, Groovy
  • 23. Build Wrapper Build name (version no) setter Virtual machine (VMWare, Virtual Box) Set environment variable ClearCase release plugin …
  • 24. Build Notifier E-mail Twitter Jabber IRC RSS Google calendar …
  • 25. Build Report Static Code Analysis Checkstyle, PMD, Findbugs, Compiler Warning Test Report & Code Coverage JUnit, TestNG, Cobertura, Clover Open Tasks
  • 32. Test Code Coverage Ref: http://cobertura.sourceforge.net/sample/
  • 33. Artifact uploaders Tomcat JBoss Glassfish WebSphere FTP SSH
  • 34. UI Enhancement Dashboard Sectioned view iPhone/Android
  • 35. Security Management Security Realm LDAP Jenkins's own user database Delegate to servlet container Authorization Anyone can do anything Logged-in users can do anything Matrix-based security Project-based Matrix Authorization Strategy Legacy mode
  • 36. Security Management Matrix-based security Project-based Matrix Authorization
  • 37. Security Management Plugins Active directory, OpenID, MySQL, … Role based privilege control
  • 38. Plugin Usage Statistics Ref: http://jenkins-ci.org/content/updated-usage-stats-available
  • 39. Features Not Mentioned Matrix project Distributed build
  • 40. Demo

Editor's Notes

  • #7: Regression
  • #8: Regression