SlideShare a Scribd company logo
Introduction To Continuous
Integration With Jenkins
Sunshine PHP 2015
Eric Hogue
@ehogue
erichogue.ca 1
Wikipedia
the practice, in software engineering, of
merging all developer working copies with a
shared mainline several times a day
http://en.wikipedia.org/wiki/Continuous_integration
2
Automated Build
3
4
Self Testing
5
Fast
6
Continuous Integration
7
8
CI Tools
9
10
Builder
11
Build Results
12
Reports
13
Reports
14
Trends
15
Plugins
16
Chuck Norris
17
Ready
18
Demo Project
https://github.com/EricHogue/CIPresentation
19
20
21
http://192.168.56.101:8080/
22
23
24
Plugins
● Git
● Phing
● Green Balls
● ChuckNorris
25
26
27
28
Code Location
29
When to Build
30
Build Tools
31
Phing
32
How to Build
33
How to Build
34
35
PHP Tools
36
Dynamic Tests
37
38
39
Failed Build
40
Publish PHPUnit Report
41
Publish PHPUnit Report
42
43
44
Publish Code Coverage
45
46
47
48
Static Tests
49
PHP_CodeSniffer
50
Publish Checkstyle results
51
52
53
54
PHP Depend
55
Publish JDepend
56
57
Classes
58
Coupling
59
Afferent Coupling Efferent Coupling
Abstractness
AC / TC 60
Instability
Ce / (Ce + Ca) 61
Distance
Idealized line → A + I = 1 62
Abstraction Instability Chart
63
Overview Pyramid - Inheritance
64
Average Number
of Derived
Classes
Average
Hierarchy Height
Overview Pyramid - Size And
Complexity
65
66
Overview Pyramid - Size And
Complexity
67
Overview Pyramid - Coupling
68
69
PHP Mess Detector
70
Rulessets
71
Publish PMD
72
73
74
75
PHP Copy Paste Detector
76
Publish Duplicate Code Analysis
77
78
Violations
79
80
81
82
83
Email Notifications
84
85
More Notifications
86
87
Benefits
88
Quick Feedback
89
Metrics
90
Automation
91
Confidence
92
https://github.com/EricHogue/CIPresentation
Comments: https://joind.in/13462
twitter: @ehogue
PHP Mentoring: http://phpmentoring.org/
93
● TrafficJam.jpg - Thomanication - https://www.flickr.com/photos/thomanication/6216702247
● is_it_worth_the_time.png - xkcd - http://xkcd.com/1205/
● LionSelfie.jpg - Silke Remmery - https://www.flickr.com/photos/silkeremmery/15856169578/in/faves-96579472@N07/
● RacingDownTheRunway.jpg - Philipp Lücke - https://www.flickr.com/photos/philippluecke/6993495094/in/faves-96579472@N07/
● PreciousTreasure.jpg - Dave Sutherland - https://www.flickr.com/photos/raptortheangel/12786162594/in/faves-96579472@N07/
● ComputerBug.jpg - Brendan Dolan-Gavitt - https://www.flickr.com/photos/moyix/2352619003/in/faves-96579472@N07/
● CatchItIfYouCan.jpg - Tim Mowrer - https://www.flickr.com/photos/mekin/281791343/in/faves-96579472@N07/
● CILights.jpg - Jan Krutisch - https://www.flickr.com/photos/jankrutisch/4272142306/in/photostream/
● ConductorFrederikMagleConductingASymphonyOrchestra10.jpg - Frederik Magle Music - https://www.flickr.
com/photos/frederikmagle/7026769687/in/photostream/
● Ready.jpg - amanda tipton - https://www.flickr.com/photos/demandaj/6789626120
● StaticWallpaper.jpg - James Spinks - https://www.flickr.com/photos/realjimbob/13270099
● DynamicEarthCME.jpg - NASA Goddard Space Flight Center - https://www.flickr.com/photos/gsfc/7402440272
● Containers.jpg - www.GlynLowe.comhttps://www.flickr.com/photos/batega/2056949264 - https://www.flickr.
com/photos/glynlowe/10921733615
● MetricMania.jpg - Josep Ma. Rosell - https://www.flickr.com/photos/batega/2056949264
● CheaperByTheYard.jpg - Bill Smith - https://www.flickr.com/photos/byzantiumbooks/16173360807
● IHateWhenSomeoneLeavesaMessintheBathroom.jpg - e_monk - https://www.flickr.com/photos/e_monk/5931790591
● FadeToGrey.jpg - Andreas Levers - https://www.flickr.com/photos/96dpi/2571056264
● LCConversion.jpg - Ginny - https://www.flickr.com/photos/ginnerobot/2548843369
● NotSoMiniBoot.jpg - Eric E Castro - https://www.flickr.com/photos/ecastro/6195349092
● LEGOShip.jpg - Andrey Belenko - https://www.flickr.com/photos/belenko/4295897526
● GrungeWarningSignDoNotReadThisSign.jpg - Nicolas Raymond - https://www.flickr.com/photos/80497449@N04/7417352980
● Notifications.jpg - Ben Schumin - http://www.flickr.com/photos/schuminweb/9806474636/
● MoreBrokenWindows.jpg - brainflakes. - https://www.flickr.com/photos/brainflakes/2763231289
● Fragile.jpg - Eye - the world through my I - https://www.flickr.com/photos/ccpixel/
● BalancingAct.jpg - Colin Harris ADE - https://www.flickr.com/photos/classblog/5136926303
● Escalator.jpg - Adam Lederer - https://www.flickr.com/photos/elmada/2466685791
● ZombieWeb.jpg - GollyGforce - Living My Worst Nightmare - https://www.flickr.com/photos/see-through-the-eye-of-g/8218600295
● LegoMicroTrophy.jpg - David Luders - https://www.flickr.com/photos/42988571@N08/15965163069
● GearWork2.jpg - Curious Expeditions - https://www.flickr.com/photos/curiousexpeditions/489992128
● BobTheBuilder.jpg - clement127 - https://www.flickr.com/photos/clement127/15943249419
● RulesRulesRules.jpg - Ricardo Liberato - https://www.flickr.com/photos/liberato/2292651755
94

More Related Content

PDF
Introduction à l'intégration continue en PHP
PPTX
Get along with JHipster
PDF
WSO2Con ASIA 2016: Automate and Orchestrate DevOps
ODP
Package Drone @ Eclipse Demo Camp Munich 2015
PDF
Effective Application State Management (@DevCamp2017)
PDF
Building native desktop applications with node-webkit
PDF
DataScienceLab2017_Блиц-доклад
PDF
Hacking pokemon go [droidcon tel aviv 2016]
Introduction à l'intégration continue en PHP
Get along with JHipster
WSO2Con ASIA 2016: Automate and Orchestrate DevOps
Package Drone @ Eclipse Demo Camp Munich 2015
Effective Application State Management (@DevCamp2017)
Building native desktop applications with node-webkit
DataScienceLab2017_Блиц-доклад
Hacking pokemon go [droidcon tel aviv 2016]

Viewers also liked (20)

PPTX
Jenkins - From Continuous Integration to Continuous Delivery
PPTX
Introduction to jenkins
PPT
CI and CD with Jenkins
PPT
Continuous Integration (Jenkins/Hudson)
PPTX
Getting started with Jenkins
PPTX
Ci jenkins maven svn
PPTX
Jenkins CI presentation
PDF
Jenkins CI
PPTX
Introduction to Continuous Integration with Jenkins
PDF
CONTINUOUS INTEGRATION WITH JENKINS AND GIT
PDF
Yale Jenkins Show and Tell
PDF
Git 101: Git and GitHub for Beginners
PDF
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
PDF
Continuous Integration and Deployment Best Practices on AWS
PDF
Jenkins
PDF
Ecosistemas de Desarrollo Software - Automatización
PPT
Continuous Integration
PPTX
Continuous Integration
PPTX
03 - Continuous Integration
PPTX
01 - Introduction to Version Control
Jenkins - From Continuous Integration to Continuous Delivery
Introduction to jenkins
CI and CD with Jenkins
Continuous Integration (Jenkins/Hudson)
Getting started with Jenkins
Ci jenkins maven svn
Jenkins CI presentation
Jenkins CI
Introduction to Continuous Integration with Jenkins
CONTINUOUS INTEGRATION WITH JENKINS AND GIT
Yale Jenkins Show and Tell
Git 101: Git and GitHub for Beginners
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Continuous Integration and Deployment Best Practices on AWS
Jenkins
Ecosistemas de Desarrollo Software - Automatización
Continuous Integration
Continuous Integration
03 - Continuous Integration
01 - Introduction to Version Control
Ad

Similar to Introduction to Continuous Integration with Jenkins (20)

PDF
Introduction à l’intégration continue avec Jenkins
PPT
Building Big on the Web
PDF
Web Developing In Search
KEY
Sustainability and bit-rot
PPT
Configuration Management
PDF
Cmake kitware
PDF
Beyond The Timesheet
KEY
Using Chef for Automated Infrastructure in the Cloud
ZIP
Ci From The Trenches
PDF
Continuous integration (eng)
PDF
Passing the Joel Test in the PHP World (phpbnl10)
PDF
Cloud Computing in Mobile
PDF
The Seven Wastes of Software Development
PDF
Architecture at SimpleGeo: Staying Agile at Scale
KEY
Project Tools in Web Development
PDF
Infrastructure In The Cloud Era
PDF
Architecting for Change: QCONNYC 2012
PDF
FOSS4G In The Cloud: Using Open Source to build Cloud based Spatial Infrastru...
PDF
Open Source Tools for Leveling Up Operations FOSSET 2014
Introduction à l’intégration continue avec Jenkins
Building Big on the Web
Web Developing In Search
Sustainability and bit-rot
Configuration Management
Cmake kitware
Beyond The Timesheet
Using Chef for Automated Infrastructure in the Cloud
Ci From The Trenches
Continuous integration (eng)
Passing the Joel Test in the PHP World (phpbnl10)
Cloud Computing in Mobile
The Seven Wastes of Software Development
Architecture at SimpleGeo: Staying Agile at Scale
Project Tools in Web Development
Infrastructure In The Cloud Era
Architecting for Change: QCONNYC 2012
FOSS4G In The Cloud: Using Open Source to build Cloud based Spatial Infrastru...
Open Source Tools for Leveling Up Operations FOSSET 2014
Ad

More from Eric Hogue (10)

PDF
Au secours, mon application est brisée - Ou comment déboguer
PDF
Commencer avec le TDD
PDF
Guarding Your Code Against Bugs with Continuous Testing
PDF
Continuous testing In PHP
PDF
La sécurité des communications avec GPG
PDF
Getting started with TDD - Confoo 2014
PDF
Continuous Testing
PDF
Commencer avec le tdd
PDF
Introduction to ci with jenkins
PPT
Integration continue
Au secours, mon application est brisée - Ou comment déboguer
Commencer avec le TDD
Guarding Your Code Against Bugs with Continuous Testing
Continuous testing In PHP
La sécurité des communications avec GPG
Getting started with TDD - Confoo 2014
Continuous Testing
Commencer avec le tdd
Introduction to ci with jenkins
Integration continue

Recently uploaded (20)

PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PPT
Teaching material agriculture food technology
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Big Data Technologies - Introduction.pptx
PDF
Approach and Philosophy of On baking technology
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
MYSQL Presentation for SQL database connectivity
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
cuic standard and advanced reporting.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Spectroscopy.pptx food analysis technology
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
NewMind AI Weekly Chronicles - August'25 Week I
Encapsulation_ Review paper, used for researhc scholars
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
MIND Revenue Release Quarter 2 2025 Press Release
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Unlocking AI with Model Context Protocol (MCP)
Teaching material agriculture food technology
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Big Data Technologies - Introduction.pptx
Approach and Philosophy of On baking technology
Reach Out and Touch Someone: Haptics and Empathic Computing
The Rise and Fall of 3GPP – Time for a Sabbatical?
Understanding_Digital_Forensics_Presentation.pptx
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
MYSQL Presentation for SQL database connectivity
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
cuic standard and advanced reporting.pdf
The AUB Centre for AI in Media Proposal.docx
Spectroscopy.pptx food analysis technology
Dropbox Q2 2025 Financial Results & Investor Presentation
NewMind AI Weekly Chronicles - August'25 Week I

Introduction to Continuous Integration with Jenkins