deploiement continu breizh camp
TRANSCRIPT
![Page 1: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/1.jpg)
Déploiement continu en production
Claude FalguièreBreizhCamp le 17 Juin 2011
![Page 2: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/2.jpg)
Continuous deployment - Falguière 2
Copyright notice
● Vous êtes libre de :● Reproduire, distribuer et communiquer cette création au public● Modifier cette création
● Selon les conditions suivantes :● Paternité. Vous devez citer le nom de l'auteur original de la
manière indiquée par l'auteur de l'oeuvre ou le titulaire des droits qui vous confère cette autorisation (mais pas d'une manière qui suggérerait qu'ils vous soutiennent ou approuvent votre utilisation de l'oeuvre).
● Rien dans ce contrat ne diminue ou ne restreint le droit moral de l'auteur ou des auteurs.
http://creativecommons.org/licenses/by/3.0/
![Page 3: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/3.jpg)
Continuous deployment - Falguière 3
Claude Falguière
@cfalguiereArchitecte Technique
Usines logiciellesPerformances
DevopsJava
![Page 4: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/4.jpg)
Continuous deployment - Falguière 4
Regrouper les développeuses
Java
ConnecterRendre visibles
http://jduchess.org/duchess-france@duchessfr
![Page 5: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/5.jpg)
Continuous deployment - Falguière 5
Motivation
![Page 6: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/6.jpg)
Continuous deployment - Falguière 6
Je fais du déploiement continu j'ai ajouté cargo pour déployer sur CI
???
![Page 7: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/7.jpg)
Continuous deployment - Falguière 7
Source : Thoughtworks
![Page 8: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/8.jpg)
Continuous deployment - Falguière 8
Déploiement
![Page 9: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/9.jpg)
Continuous deployment - Falguière 9
Deploiement
mvn deploy
mettre à disposition des utilisateurs Avertir les utilisateurs Arrêter le service Installer Vérifier Avertir les utilisateurs
![Page 10: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/10.jpg)
Continuous deployment - Falguière 10
Provisioning
L'affectation plus ou moins automatisée de ressources à un utilisateur
<votre-smartphone-préféré>Store/Market Packages LinuxRepo Maven
Approvisionnement
![Page 11: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/11.jpg)
Continuous deployment - Falguière 11
Responsabilités
Confidentialité, SécuritéInterdépendances
Opérations planifiées
assembler → approvisionner
→ installer → déployer
![Page 12: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/12.jpg)
Continuous deployment - Falguière 12
Continu
![Page 13: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/13.jpg)
Continuous deployment - Falguière 13
Batch & queue
Produire un lotLivrer le lot
![Page 14: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/14.jpg)
Continuous deployment - Falguière 14
Livrer
des features
au fur et à mesure
Continuous Flow
![Page 15: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/15.jpg)
Continuous deployment - Falguière 15
DélaiExceptionnelVolume
RéactivitéBanaliseCiblé
Batch & queue
Continuous Flow
![Page 16: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/16.jpg)
Continuous deployment - Falguière 16
Periodicite
Plusieurs écoles
De plusieurs fois par heure à 1 fois par jour
![Page 17: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/17.jpg)
Continuous deployment - Falguière 17
ContinuousIntegration
ContinuousDelivery
ContinuousDeployment
![Page 18: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/18.jpg)
Continuous deployment - Falguière 18
Qui déclenche ?
PO + SM + OPSPromote manuel
Autopromote#deploy #envhabilitations
![Page 19: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/19.jpg)
Continuous deployment - Falguière 19
Déploiement
Continu
Pas seulement automatisé
Pas forcément sans intervention humaine
![Page 20: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/20.jpg)
Continuous deployment - Falguière 20
Jusque là tout va bien
![Page 21: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/21.jpg)
Continuous deployment - Falguière 21
Processus Fast Fail
Analyser les causes
AméliorerPrévenirImpliquer
![Page 22: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/22.jpg)
Continuous deployment - Falguière 22
Livrer au plus tôt
Commiter souventLivrer des features
Feature BranchingFeature flags → par environnement
Feature flippers → par user
![Page 23: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/23.jpg)
Continuous deployment - Falguière 23
Tester au plus tôt
Tests automatisés
Smoke test
Tests en production
![Page 24: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/24.jpg)
Continuous deployment - Falguière 24
Tester en production
Déploiement progressif
Déploiement green-blue
![Page 25: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/25.jpg)
Continuous deployment - Falguière 25
Evaluer au plus tôt
Inclure les retours des utilisateursbeta test (feature flippers)A/B testing (feature flags)
![Page 26: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/26.jpg)
Continuous deployment - Falguière 26
Surveiller
Pendant Juste après
Après
MonitoringAutodiagnostic, journaux
![Page 27: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/27.jpg)
Continuous deployment - Falguière 27
REX (1)
![Page 28: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/28.jpg)
Continuous deployment - Falguière 28
Contexte
StartupRefonteDomaine complexe
Difficile à tester en simulation
Grand nombre de serveurs
![Page 29: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/29.jpg)
Continuous deployment - Falguière 29
![Page 30: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/30.jpg)
Continuous deployment - Falguière 30
Idée générale
Fiabiliser les livraisonsTests automatisésAnalyse du code
Synchronisation entre les 2 équipes
Gérer la multiplicité (15 serveurs)Automatisation de l'installation
![Page 31: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/31.jpg)
Continuous deployment - Falguière 31
L'usine
![Page 32: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/32.jpg)
Continuous deployment - Falguière 32
![Page 33: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/33.jpg)
Continuous deployment - Falguière 33
Blueprint
![Page 34: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/34.jpg)
Continuous deployment - Falguière 34
Flex
Plus facileMoins de code
Projet Agile
Flex 4Maven 2
![Page 35: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/35.jpg)
Continuous deployment - Falguière 35
Flex
Plus facileMoins de code
Projet Agile
Flex 4Maven 2
Livraisons fréquentes
Amélioration du temps de déploiement
![Page 36: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/36.jpg)
Continuous deployment - Falguière 36
Java
LegacyRefonte SOA
Conversion Agile
![Page 37: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/37.jpg)
Continuous deployment - Falguière 37
Java
LegacyRefonte SOA
Conversion Agile
StandbyPas de déploiement
![Page 38: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/38.jpg)
Continuous deployment - Falguière 38
On part de loin
Code, Deploy … and Pray
CVS → SVN → 1 repository
Ant → Maven → HudsonCommiter régulièrement
Tester unitairement
![Page 39: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/39.jpg)
Continuous deployment - Falguière 39
Les facteurs de succès
Bon contact avec la production Acceptation du PO
Manque de maîtrise des outils en dev Soutien des équipes support et QA ?
![Page 40: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/40.jpg)
Continuous deployment - Falguière 40
REX (2)
![Page 41: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/41.jpg)
Continuous deployment - Falguière 41
Et j'ai changé de vie
![Page 42: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/42.jpg)
Continuous deployment - Falguière 42
iOS
![Page 43: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/43.jpg)
Continuous deployment - Falguière 43
Distribute for enterprise
.ipa + icônes + descripteurs+ provisioning profile + des tas de clicsVous ne
voulez p
as savoir
![Page 44: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/44.jpg)
Continuous deployment - Falguière 44
Idée générale
Eviter toutes ces manipulations
Mode Agile avec le clientLivraisons fréquentes
![Page 45: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/45.jpg)
Continuous deployment - Falguière 45
Clarifier le processus
![Page 46: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/46.jpg)
Continuous deployment - Falguière 46
Ingrédients et chefs
GitRakeiWebKitune pincée de Bashquelques fichiers PHPrsync (ma touche perso)
Sylvain Rousseau & David Gageot
![Page 47: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/47.jpg)
Continuous deployment - Falguière 47
Git fetchrebase
ServerLess CI
![Page 48: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/48.jpg)
Continuous deployment - Falguière 48
Git fetchrebase
Air deploy
![Page 49: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/49.jpg)
Continuous deployment - Falguière 49
Rester simple
Mono branche
300 lignes de script
Ignorer les tâches peu fréquentesLa gestion des certificats (développeur, provisioning profile, ...)
![Page 50: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/50.jpg)
Continuous deployment - Falguière 50
Cachez cette feature qu'on ne saurait voir
ou comment j'ai mis des feature flags ...
![Page 51: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/51.jpg)
Continuous deployment - Falguière 51
Bilan
Entièrement automatisé Promote manuel
A adapter pour la StoreSon petit frère tourne sur l'Apple Store
Automatisation des tests sous iOS ?
![Page 52: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/52.jpg)
Continuous deployment - Falguière 52
Les facteurs de succès
Cycles courts
Agilité du dev
Acceptation du PO ? Au moins pour le delivery
![Page 53: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/53.jpg)
Continuous deployment - Falguière 53
Automatiser
![Page 54: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/54.jpg)
Continuous deployment - Falguière 54
Installer Facilement
Etape par étapeComprendre ses limites
3) Automatisé 2) Outillé
1) Processus clair
![Page 55: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/55.jpg)
Continuous deployment - Falguière 55
Installer au plus tôt
Déminer Simplifier
Apprendre pour réagir vite en prod
![Page 56: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/56.jpg)
Continuous deployment - Falguière 56
Installer la même chose
Prod
Tests
VM
![Page 57: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/57.jpg)
Continuous deployment - Falguière 57
ci / Production
Nombre
Sécurité & Confidentialité
Rollback
![Page 58: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/58.jpg)
Continuous deployment - Falguière 58
Gérer la multiplicité
mcollective / RunDeck / Fabric / Capistrano
vs Hudson/Jenkins
vs scripts
![Page 59: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/59.jpg)
Continuous deployment - Falguière 59
Outils utiles
Git vs SVN
Script vs Maven
![Page 60: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/60.jpg)
Continuous deployment - Falguière 60
Et la base ?
Tout scripter dès le dev
Scripts incrémentaux
Ne pas supprimer
![Page 61: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/61.jpg)
Continuous deployment - Falguière 61
Tout automatiser ?
Accepter un processus partiellement
manuel
- sécurisation / vérification- migration de bases
- opérations peu fréquentes
![Page 62: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/62.jpg)
Continuous deployment - Falguière 62
Conclusion
![Page 63: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/63.jpg)
Continuous deployment - Falguière 63
Delivery / Deploiement
Outillage similaire
+
Gérer l'automatisation de la validation
![Page 64: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/64.jpg)
Continuous deployment - Falguière 64
Facteurs favorables
Faible criticité ou totalement automatisable
Agilité des équipesConvevoir par incrément
Maîtrise des outils (DVCS, TDD, ...)
![Page 65: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/65.jpg)
Continuous deployment - Falguière 65
Facteurs favorables
Compréhension de son processus technique
Coopération avec la production
![Page 66: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/66.jpg)
Continuous deployment - Falguière 66
DEVOPS
DEVOPS
![Page 67: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/67.jpg)
Continuous deployment - Falguière 67
Une application ne rend le service
prévu aux utilisateurs que si
elle est
déployée
devops
![Page 68: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/68.jpg)
Continuous deployment - Falguière 68
devops
Peur des déploiements
Ça marche chez moi !
![Page 69: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/69.jpg)
Continuous deployment - Falguière 69
Coopérer dès le début
Abattre les silos
devops
Peur des déploiements
Ça marche chez moi !
![Page 70: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/70.jpg)
Continuous deployment - Falguière 70
Des User Groups
Lille-devopsParis-devopsLyon ???
Et chez vous ?
http://parisdevops.fr/http://devops.fr
![Page 71: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/71.jpg)
Continuous deployment - Falguière 71
Merci pour votre attention
Je vous écoute
@cfalguiere
![Page 72: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/72.jpg)
Continuous deployment - Falguière 72
Quelques Lectureshttp://continuousdelivery.com/
http://continuousdelivery.com/2011/05/make-large-scale-changes-incrementally-with-branch-by-abstraction/
http://continuousdelivery.com/2010/08/continuous-delivery-vs-continuous-deployment/
http://www.slideshare.net/ashmaurya/continuous-deployment-startup-lessons-learned
http://programmerjoe.com/2009/02/19/the-hard-part-of-continuous-deployment/
http://programmerjoe.com/2009/02/12/continuous-deployment-with-thick-clients/
http://www.codemanship.co.uk/parlezuml/blog/?postid=955
http://www.tvagile.com/2010/08/04/continuous-integration-pipelines-and-deployment/
http://www.slicedbreaddesign.com/blog/index.php/2009/11/is-continuous-deployment-good-for-users
http://code.flickr.com/blog/2009/12/02/flipping-out/
http://martinfowler.com/bliki/BlueGreenDeployment.html
http://eng.wealthfront.com/2010/05/deployment-infrastructure-for.html
![Page 73: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/73.jpg)
Continuous deployment - Falguière 73
Crédits photo
http://www.flickr.com/photos/jurvetson/5126137767
http://www.flickr.com/photos/pjb2332/1892076224
http://www.flickr.com/photos/wirralwater/3304595702
http://www.flickr.com/photos/deltamike/112665695
http://www.flickr.com/photos/grill/5704051872
http://www.flickr.com/photos/hugo90/5360024969
http://www.flickr.com/photos/theplanetdotcom/4878815037
http://www.flickr.com/photos/edvvc/1972546648
![Page 74: Deploiement continu breizh camp](https://reader034.vdocuments.site/reader034/viewer/2022051400/5583d02ed8b42a6b638b4e7b/html5/thumbnails/74.jpg)
Continuous deployment - Falguière 74
Crédits photohttp://www.flickr.com/photos/ecru76/2709226929
http://www.flickr.com/photos/seeminglee/3929959851
http://www.flickr.com/photos/publicresourceorg/4245550588
http://www.flickr.com/photos/pjb2332/2209369645
http://www.flickr.com/photos/theleticiabertin/5344450700
http://www.flickr.com/photos/abbot45/309058972
http://www.flickr.com/photos/pjb2332/2095801220