Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
L'intégration continue de A à Z sur une applica...
Search
Marek Kalnik
November 30, 2012
Programming
0
690
L'intégration continue de A à Z sur une application PHP existante
Les slides de mon talk que j'ai donné à Nantes pour PHPTour 2012
Marek Kalnik
November 30, 2012
Tweet
Share
More Decks by Marek Kalnik
See All by Marek Kalnik
Ma liste subjective des 10 développeurs à connaitre
marekkalnik
0
71
Le management LEAN
marekkalnik
0
74
Versioning mobile apps and apis
marekkalnik
0
87
Comment Ionic vous aide
marekkalnik
0
140
Pourquoi choisir Ionic ?
marekkalnik
0
260
Cordova vs. Steroids
marekkalnik
0
140
Arrêtons de parler de code de qualité, ce qu'il faut c'est du code agile !
marekkalnik
2
570
Code Agile - comment redéfinir la qualité
marekkalnik
2
180
Behat - retour d'expérience
marekkalnik
1
390
Other Decks in Programming
See All in Programming
NPOでのDevinの活用
codeforeveryone
0
810
PicoRuby on Rails
makicamel
2
130
ISUCON研修おかわり会 講義スライド
arfes0e2b3c
1
430
地方に住むエンジニアの残酷な現実とキャリア論
ichimichi
5
1.5k
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
2
650
システム成長を止めない!本番無停止テーブル移行の全貌
sakawe_ee
1
160
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
540
10 Costly Database Performance Mistakes (And How To Fix Them)
andyatkinson
0
230
Is Xcode slowly dying out in 2025?
uetyo
1
260
GitHub Copilot and GitHub Codespaces Hands-on
ymd65536
2
150
関数型まつりレポート for JuliaTokai #22
antimon2
0
160
PipeCDのプラグイン化で目指すところ
warashi
1
270
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
173
14k
Bash Introduction
62gerente
614
210k
The Invisible Side of Design
smashingmag
301
51k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Navigating Team Friction
lara
187
15k
Code Reviewing Like a Champion
maltzj
524
40k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Producing Creativity
orderedlist
PRO
346
40k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
810
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Designing for Performance
lara
610
69k
Transcript
PHPTour Nantes 2012 www.afup.org L'intégration continue de A à Z
sur une application PHP existante
Technical Team Manager Theodo Evolution Developer RogerCmsBundle Maintainer Formateur en
Bonnes Pratiques @marekkalnik Marek Kalnik http://tumblr.com/marekkalnik BLOG
Un projet legacy...
...des développeurs, des project managers...
...et la peur de bugs et deadlines.
Pour mieux dormir la nuit...
...faisons appel à l'intégration continue !
Intégration continue Automatisation Tests Documentation Intégration Votre porte-boNheur
Intégration Branche d'intégration Commits de développeurs
Tests TESTS DE DÉVELOPPEMENT TESTS UNITAIRES TESTS D'INTEGRATION TESTS APRÈS-BUGS
D'ACCEPTANCE TESTS TESTS DE DÉVELOPPEUR
Automatisation Push Build Tests DeploiemeNt Photo : stadtstreicher79@flickr
Documentation Qualité du code Installation Déploiement Développement Photo : ZeroOne
/ Foter
Intégration du legacy
Factoriser pour faire les tests ? Brett L. Schuchert Toughworks
Risque d'introduction d'un bug en modifiant une seule ligne du code legacy
LXC Jailer Les micro-frameworks Serveur BDD Les services web Slim
Photo : Darwin Bell / Foter Réplication d’environnement Pentaho Kettle Silex
Les tests non-intrusifs Linkchecker Mink + ZombieJS Mink + Selenium
Smoke testing Dev testing Build testing On peut commencer la factorisation et les tests unitaires Photo : katerha / Foter
Build Configuration Jenkins Déploiement Automatisation Jenkins-PHP Ant Fabric Jenkins-CLI Photo
: GogDog / Foter
Documentation Build Tests Déploiement HTMLPublisherPlugin + PlotPlugin RegistrationFormHandler [x] Does
not bind on get [x] Saves and sends mail on request [x] Binds facebook data UserFormHandler [x] No bind on get [x] Returns false on invalid data [x] Get user and bind on valid data
Frontend Andrew Morrell Photography / Foter
JS Test Driver JSTD
Linters JS Hint CSS Lint
Installation Jenkins 1 journée Réplication de l'environnement < 1 mois
Création de tests quelques mois Amélioration continue et projet plus stable pour la vie Estimation ?
@marekkalnik Marek Kalnik http://tumblr.com/marekkalnik BLOG L'intégration continue de A à
Z sur une application PHP existante Questions ? http://joind.in/7259 Joind.in