Introduction à l’intégration
continue avec Jenkins
ConFoo 2015
Eric Hogue
@ehogue
erichogue.ca 1
Wikipedia
ensemble de pratiques [...] consistant à vérifier
à chaque modification [...] que le résultat des
modifications ne produit pas de régression
dans l'application développée
http://fr.wikipedia.org/wiki/Int%C3%A9gration_continue
2
Assemblage automatique
3
4
Contrôle automatique
5
Rapide
6
Intégration continue
7
8
Outils
9
10
Moteurs de production
11
Résultats
12
Rapports
13
Rapports
14
Tendances
15
Extensions
16
Chuck Norris
17
Prêt
18
Projet démo
https://github.com/EricHogue/CIPresentation
19
20
21
http://192.168.56.101:8080/
22
23
24
Extensions
● Git
● Phing
● Green Balls
● ChuckNorris
25
26
27
28
Emplacement du code
29
Quand assembler
30
Moteurs de production
31
Phing
32
Comment assembler
33
Comment assembler
34
35
Outils PHP
36
Tests dynamiques
37
38
39
Échec
40
Publier le rapport PHPUnit
41
Publier le rapport PHPUnit
42
43
44
Publier la couverture du code
45
46
47
48
Tests statiques
49
PHP_CodeSniffer
50
Publier le rapport Checkstyle
51
52
53
54
PHP Depend
55
Publier JDepend
56
57
Classes
58
Couplage
59
Couplage afférent Couplage efférent
Abstraction
AC / TC 60
Instabilité
Ce / (Ce + Ca) 61
Distance
Idealized line → A + I = 1 62
Abstraction Instability Chart
63
Overview Pyramid - Héritage
64
Average Number
of Derived
Classes
Average
Hierarchy Height
Overview Pyramid - Grandeur et
complexité
65
public function test() {
if ($a) {
...
} elseif ($b) {
...
}
foreach ($c as $d) {
if ($e) {
} else {
}
}
}
1
2
3
4
5
66
Overview Pyramid - Size And
Complexity
67
Overview Pyramid - Couplage
68
69
PHP Mess Detector
70
Jeux de règles
71
Publier PMD
72
73
74
75
PHP Copy Paste Detector
76
Publier l’analyse du code dupliqué
77
78
Violations
79
80
81
82
83
Notifications courriel
84
85
Plus de notifications
86
87
Avantages
88
Rétroaction rapide
89
Mesures
90
Automatisation
91
Confiance
92
https://github.com/EricHogue/CIPresentation
Commentaires: https://joind.in/13215
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

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]
PPTX
Debugging Effectively
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]
Debugging Effectively

Similar to Introduction à l’intégration continue avec Jenkins (20)

PDF
Introduction à l'intégration continue en PHP
PDF
Introduction to Continuous Integration with Jenkins
PPT
Building Big on the Web
KEY
TDD Boot Camp Sapporo 1.5
PPT
Build Automation of PHP Applications
PDF
Meet Tom and his Fish
PDF
Passing the Joel Test in the PHP World (phpbnl10)
PDF
Git Going With DVCS v1.5.2
PDF
Ln monitoring repositories
ODP
PHP Quality Assurance Workshop PHPBenelux
PPT
Configuration Management
PDF
ChannelStream: The challenges of continuously delivering
PDF
The Challenge of Continuously Delivering
PDF
Continuous Deployment of Architectural Change
PDF
The Seven Wastes of Software Development
PDF
Web Developing In Search
PDF
Architecting for Change: QCONNYC 2012
PDF
OpenStack Deployments with Chef
PDF
Chef for OpenStack - OpenStack Fall 2012 Summit
PDF
Chef for OpenStack- Fall 2012.pdf
Introduction à l'intégration continue en PHP
Introduction to Continuous Integration with Jenkins
Building Big on the Web
TDD Boot Camp Sapporo 1.5
Build Automation of PHP Applications
Meet Tom and his Fish
Passing the Joel Test in the PHP World (phpbnl10)
Git Going With DVCS v1.5.2
Ln monitoring repositories
PHP Quality Assurance Workshop PHPBenelux
Configuration Management
ChannelStream: The challenges of continuously delivering
The Challenge of Continuously Delivering
Continuous Deployment of Architectural Change
The Seven Wastes of Software Development
Web Developing In Search
Architecting for Change: QCONNYC 2012
OpenStack Deployments with Chef
Chef for OpenStack - OpenStack Fall 2012 Summit
Chef for OpenStack- Fall 2012.pdf

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)

PPTX
Rise of the Digital Control Grid Zeee Media and Hope and Tivon FTWProject.com
PDF
Data Virtualization in Action: Scaling APIs and Apps with FME
PDF
EIS-Webinar-Regulated-Industries-2025-08.pdf
PDF
Advancing precision in air quality forecasting through machine learning integ...
PDF
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
PDF
Streamline Vulnerability Management From Minimal Images to SBOMs
PPTX
Presentation - Principles of Instructional Design.pptx
PDF
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
PPTX
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
PDF
substrate PowerPoint Presentation basic one
PPTX
How to Convert Tickets Into Sales Opportunity in Odoo 18
PDF
Launch a Bumble-Style App with AI Features in 2025.pdf
PDF
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
PDF
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
PDF
Decision Optimization - From Theory to Practice
PDF
Lung cancer patients survival prediction using outlier detection and optimize...
PPTX
Blending method and technology for hydrogen.pptx
PDF
Co-training pseudo-labeling for text classification with support vector machi...
PDF
zbrain.ai-Scope Key Metrics Configuration and Best Practices.pdf
PDF
Introduction to MCP and A2A Protocols: Enabling Agent Communication
Rise of the Digital Control Grid Zeee Media and Hope and Tivon FTWProject.com
Data Virtualization in Action: Scaling APIs and Apps with FME
EIS-Webinar-Regulated-Industries-2025-08.pdf
Advancing precision in air quality forecasting through machine learning integ...
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
Streamline Vulnerability Management From Minimal Images to SBOMs
Presentation - Principles of Instructional Design.pptx
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
substrate PowerPoint Presentation basic one
How to Convert Tickets Into Sales Opportunity in Odoo 18
Launch a Bumble-Style App with AI Features in 2025.pdf
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
Decision Optimization - From Theory to Practice
Lung cancer patients survival prediction using outlier detection and optimize...
Blending method and technology for hydrogen.pptx
Co-training pseudo-labeling for text classification with support vector machi...
zbrain.ai-Scope Key Metrics Configuration and Best Practices.pdf
Introduction to MCP and A2A Protocols: Enabling Agent Communication

Introduction à l’intégration continue avec Jenkins