SlideShare a Scribd company logo
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
PPTX
Jenkins CI presentation
PPTX
Jenkins presentation
PPTX
Getting started with Jenkins
PDF
Introduction to GitHub Actions
PDF
Continuous Integration/Deployment with Gitlab CI
PDF
Introduction to GitHub Actions
ODP
Introduction to Version Control
Jenkins CI presentation
Jenkins presentation
Getting started with Jenkins
Introduction to GitHub Actions
Continuous Integration/Deployment with Gitlab CI
Introduction to GitHub Actions
Introduction to Version Control

What's hot (20)

PPTX
Jenkins tutorial for beginners
PPTX
Présentation Git & GitHub
PPTX
CI-Jenkins.pptx
PPTX
Introduction git
PDF
DevOps with GitHub Actions
PDF
Jenkins
PDF
GitOps with ArgoCD
PDF
Formation autour de git et git lab
PDF
svn 능력자를 위한 git 개념 가이드
PDF
A GitOps Kubernetes Native CICD Solution with Argo Events, Workflows, and CD
PDF
Tracking and improving software quality with SonarQube
PPTX
Jenkins CI
PDF
Gitlab ci-cd
PDF
Jenkins-CI
PDF
Git Introduction Tutorial
PDF
Gitops: the kubernetes way
PPTX
CICD Pipeline Using Github Actions
PDF
Introduction to docker
PDF
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
PDF
Gitlab flow solo
Jenkins tutorial for beginners
Présentation Git & GitHub
CI-Jenkins.pptx
Introduction git
DevOps with GitHub Actions
Jenkins
GitOps with ArgoCD
Formation autour de git et git lab
svn 능력자를 위한 git 개념 가이드
A GitOps Kubernetes Native CICD Solution with Argo Events, Workflows, and CD
Tracking and improving software quality with SonarQube
Jenkins CI
Gitlab ci-cd
Jenkins-CI
Git Introduction Tutorial
Gitops: the kubernetes way
CICD Pipeline Using Github Actions
Introduction to docker
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
Gitlab flow solo
Ad

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
ZIP
Silos are for farmers
PDF
Git Basics Workshop Summer of Tech 2010
PDF
Behaviour-Driven Development: escrevendo especificações ágeis
KEY
Maximes Presentation For Rubyconf China 2009
PPTX
A DevOps Discussion
PPT
Working Together Virtually
PDF
Cloud Computing: An Overview
PDF
State of the kit (FOSDEM 2013)
PPTX
Metrics that Matter
PDF
The Continuous PHP Pipeline
PDF
Continuous delivery - tools and techniques
PDF
Kaizen With GreenHopper: Visualising Agile & Kanban Storywalls
PPTX
Product Owner Challenge 3.0 (Agile Cambridge 2016)
PDF
Living system or build factory - Chris Maxwell
PDF
ACI Design and Creativity Day05 2015
PDF
NetworkX - python graph analysis and visualization @ PyHug
PDF
There's a Module for That, MIMA Summit 2010
PDF
Agile Marketing: 4 Principles and 13 Hacks - SEOmoz MozCon 2012
Introduction à l'intégration continue en PHP
Introduction to Continuous Integration with Jenkins
Silos are for farmers
Git Basics Workshop Summer of Tech 2010
Behaviour-Driven Development: escrevendo especificações ágeis
Maximes Presentation For Rubyconf China 2009
A DevOps Discussion
Working Together Virtually
Cloud Computing: An Overview
State of the kit (FOSDEM 2013)
Metrics that Matter
The Continuous PHP Pipeline
Continuous delivery - tools and techniques
Kaizen With GreenHopper: Visualising Agile & Kanban Storywalls
Product Owner Challenge 3.0 (Agile Cambridge 2016)
Living system or build factory - Chris Maxwell
ACI Design and Creativity Day05 2015
NetworkX - python graph analysis and visualization @ PyHug
There's a Module for That, MIMA Summit 2010
Agile Marketing: 4 Principles and 13 Hacks - SEOmoz MozCon 2012
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
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Big Data Technologies - Introduction.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Approach and Philosophy of On baking technology
PPTX
Cloud computing and distributed systems.
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Dropbox Q2 2025 Financial Results & Investor Presentation
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Machine learning based COVID-19 study performance prediction
Big Data Technologies - Introduction.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
“AI and Expert System Decision Support & Business Intelligence Systems”
Network Security Unit 5.pdf for BCA BBA.
Diabetes mellitus diagnosis method based random forest with bat algorithm
Approach and Philosophy of On baking technology
Cloud computing and distributed systems.
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Mobile App Security Testing_ A Comprehensive Guide.pdf
Electronic commerce courselecture one. Pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton

Introduction à l’intégration continue avec Jenkins