le continuous merge chez lesfurets.com - devoxx 2015
TRANSCRIPT
![Page 1: Le Continuous Merge chez LesFurets.com - Devoxx 2015](https://reader033.vdocument.in/reader033/viewer/2022042817/55a93c931a28abb5758b46bd/html5/thumbnails/1.jpg)
@ArnaudPflieger#ContinuousMerge
Le Continuous Merge Chez LesFurets.com
@ArnaudPflieger @BeastieFurets github.com/lesfurets
![Page 2: Le Continuous Merge chez LesFurets.com - Devoxx 2015](https://reader033.vdocument.in/reader033/viewer/2022042817/55a93c931a28abb5758b46bd/html5/thumbnails/2.jpg)
@ArnaudPflieger#ContinuousMerge
LesFurets.com1er site indépendant de comparaison d’assurance
2 500 000 devis/an
![Page 3: Le Continuous Merge chez LesFurets.com - Devoxx 2015](https://reader033.vdocument.in/reader033/viewer/2022042817/55a93c931a28abb5758b46bd/html5/thumbnails/3.jpg)
@ArnaudPflieger#ContinuousMerge
Continuous delivery chez LesFurets.com
1 MEP / jour
Feature branching : •3-10 branches par MEP •40-70 branches en cours
![Page 4: Le Continuous Merge chez LesFurets.com - Devoxx 2015](https://reader033.vdocument.in/reader033/viewer/2022042817/55a93c931a28abb5758b46bd/html5/thumbnails/4.jpg)
@ArnaudPflieger#ContinuousMerge
Feature branching ?
Feature branching ≠ Trunk Based Delivery
•Pourquoi ?
•Comment ?
![Page 5: Le Continuous Merge chez LesFurets.com - Devoxx 2015](https://reader033.vdocument.in/reader033/viewer/2022042817/55a93c931a28abb5758b46bd/html5/thumbnails/5.jpg)
@YourTwitterHandle@YourTwitterHandle@ArnaudPflieger#ContinuousMerge
Etat de l’art du Continuous Delivery
Le Trunk Based D… (TBD)
![Page 6: Le Continuous Merge chez LesFurets.com - Devoxx 2015](https://reader033.vdocument.in/reader033/viewer/2022042817/55a93c931a28abb5758b46bd/html5/thumbnails/6.jpg)
@ArnaudPflieger#ContinuousMerge
Le Trunk Based Dwhatever
Commit -> Build -> Prod
• @axelfontaine • Continuous Delivery by Jez Humble • http://en.wikipedia.org/wiki/Continuous_delivery
![Page 7: Le Continuous Merge chez LesFurets.com - Devoxx 2015](https://reader033.vdocument.in/reader033/viewer/2022042817/55a93c931a28abb5758b46bd/html5/thumbnails/7.jpg)
@ArnaudPflieger#ContinuousMerge
TBD - un plan galère
•Tests automatisés pas suffisants •Déploiements pas complètement automatisés •Feature toggles pénibles •Pas de chemin de migration
Investissement lourd et difficile
![Page 8: Le Continuous Merge chez LesFurets.com - Devoxx 2015](https://reader033.vdocument.in/reader033/viewer/2022042817/55a93c931a28abb5758b46bd/html5/thumbnails/8.jpg)
@YourTwitterHandle@YourTwitterHandle@ArnaudPflieger#ContinuousMerge
Feature Branching
![Page 9: Le Continuous Merge chez LesFurets.com - Devoxx 2015](https://reader033.vdocument.in/reader033/viewer/2022042817/55a93c931a28abb5758b46bd/html5/thumbnails/9.jpg)
@ArnaudPflieger#ContinuousMerge
master
features/f1
features/f2
![Page 10: Le Continuous Merge chez LesFurets.com - Devoxx 2015](https://reader033.vdocument.in/reader033/viewer/2022042817/55a93c931a28abb5758b46bd/html5/thumbnails/10.jpg)
@ArnaudPflieger#ContinuousMerge
Ok banco pour les feature branches !
![Page 11: Le Continuous Merge chez LesFurets.com - Devoxx 2015](https://reader033.vdocument.in/reader033/viewer/2022042817/55a93c931a28abb5758b46bd/html5/thumbnails/11.jpg)
@ArnaudPflieger#ContinuousMerge
![Page 12: Le Continuous Merge chez LesFurets.com - Devoxx 2015](https://reader033.vdocument.in/reader033/viewer/2022042817/55a93c931a28abb5758b46bd/html5/thumbnails/12.jpg)
@ArnaudPflieger#ContinuousMerge
La perte de l’IC
•Maven (compile + tests) • Environnement de test (dog fooding) • Selenium • Intégration du code / resolution des conflits
![Page 13: Le Continuous Merge chez LesFurets.com - Devoxx 2015](https://reader033.vdocument.in/reader033/viewer/2022042817/55a93c931a28abb5758b46bd/html5/thumbnails/13.jpg)
@ArnaudPflieger#ContinuousMerge
La perte de l’IC
•Maven (compile + tests) • Environnement de test (dog fooding) • Selenium • Intégration du code / resolution des conflits
![Page 14: Le Continuous Merge chez LesFurets.com - Devoxx 2015](https://reader033.vdocument.in/reader033/viewer/2022042817/55a93c931a28abb5758b46bd/html5/thumbnails/14.jpg)
:(
![Page 15: Le Continuous Merge chez LesFurets.com - Devoxx 2015](https://reader033.vdocument.in/reader033/viewer/2022042817/55a93c931a28abb5758b46bd/html5/thumbnails/15.jpg)
@YourTwitterHandle@YourTwitterHandle@ArnaudPflieger#ContinuousMerge
Le Continuous Merge
Merge automatique !
![Page 16: Le Continuous Merge chez LesFurets.com - Devoxx 2015](https://reader033.vdocument.in/reader033/viewer/2022042817/55a93c931a28abb5758b46bd/html5/thumbnails/16.jpg)
@ArnaudPflieger#ContinuousMerge
master
features/f1
features/f1 features/f2
octopusoctopus
![Page 17: Le Continuous Merge chez LesFurets.com - Devoxx 2015](https://reader033.vdocument.in/reader033/viewer/2022042817/55a93c931a28abb5758b46bd/html5/thumbnails/17.jpg)
@ArnaudPflieger#ContinuousMerge
Construire l’octopus
n’existe pas !git merge features/*
git octopusgithub.com/lesfurets/git-octopus
![Page 18: Le Continuous Merge chez LesFurets.com - Devoxx 2015](https://reader033.vdocument.in/reader033/viewer/2022042817/55a93c931a28abb5758b46bd/html5/thumbnails/18.jpg)
@YourTwitterHandle@YourTwitterHandle@ArnaudPflieger#ContinuousMerge
Demo
![Page 19: Le Continuous Merge chez LesFurets.com - Devoxx 2015](https://reader033.vdocument.in/reader033/viewer/2022042817/55a93c931a28abb5758b46bd/html5/thumbnails/19.jpg)
@ArnaudPflieger#ContinuousMerge
Les conflitsAu cas par cas
• Eviter le conflit
• Sortir de l’IC
• Mettre l’un devant l’autre
• Feature toggle
![Page 20: Le Continuous Merge chez LesFurets.com - Devoxx 2015](https://reader033.vdocument.in/reader033/viewer/2022042817/55a93c931a28abb5758b46bd/html5/thumbnails/20.jpg)
@YourTwitterHandle@YourTwitterHandle@ArnaudPflieger#ContinuousMerge
Workflow jusqu’en prod
![Page 21: Le Continuous Merge chez LesFurets.com - Devoxx 2015](https://reader033.vdocument.in/reader033/viewer/2022042817/55a93c931a28abb5758b46bd/html5/thumbnails/21.jpg)
@ArnaudPflieger#ContinuousMerge
ticket1
ticket2
ticket3
ticket4
ticket5
features releaseslocal
ticket3master
git branch ticket3 releases/master git push features git push releases
ticket3
ticket1
MEP
master
octopus-features octopus-releases
Le temps de commiter 1 jour à 1 mois 1 - 2 jours
![Page 22: Le Continuous Merge chez LesFurets.com - Devoxx 2015](https://reader033.vdocument.in/reader033/viewer/2022042817/55a93c931a28abb5758b46bd/html5/thumbnails/22.jpg)
@ArnaudPflieger#ContinuousMerge
Les bons ingrédients
•Proximité des équipes
•Développements indépendants
•Bonne maitrise de Git
•Code sain
•MEPs fréquentes
![Page 23: Le Continuous Merge chez LesFurets.com - Devoxx 2015](https://reader033.vdocument.in/reader033/viewer/2022042817/55a93c931a28abb5758b46bd/html5/thumbnails/23.jpg)
@YourTwitterHandle@YourTwitterHandle@ArnaudPflieger#ContinuousMerge
Peut-on mieux faire ?
![Page 24: Le Continuous Merge chez LesFurets.com - Devoxx 2015](https://reader033.vdocument.in/reader033/viewer/2022042817/55a93c931a28abb5758b46bd/html5/thumbnails/24.jpg)
@ArnaudPflieger#ContinuousMerge
La suite
•Tendre vers 1 Mep / branche
•Tuer les problèmes de conflits
![Page 25: Le Continuous Merge chez LesFurets.com - Devoxx 2015](https://reader033.vdocument.in/reader033/viewer/2022042817/55a93c931a28abb5758b46bd/html5/thumbnails/25.jpg)
@ArnaudPflieger#ContinuousMerge
A toi, amis du SCRUMTu releases ton soft au moins une fois par mois ?
Le continuous delivery n’est pas loin !
•Un peu plus de devops•Git•Process de validation incrémentale
![Page 26: Le Continuous Merge chez LesFurets.com - Devoxx 2015](https://reader033.vdocument.in/reader033/viewer/2022042817/55a93c931a28abb5758b46bd/html5/thumbnails/26.jpg)
@ArnaudPflieger#ContinuousMerge
Le mot de la fin
Le TBD n’est pas une fatalité pour faire du Continuous delivery
![Page 27: Le Continuous Merge chez LesFurets.com - Devoxx 2015](https://reader033.vdocument.in/reader033/viewer/2022042817/55a93c931a28abb5758b46bd/html5/thumbnails/27.jpg)
@ArnaudPflieger#ContinuousMerge
github.com/lesfurets/git-octopus
@BeastieFurets