@ArnaudPflieger#ContinuousMerge
Le Continuous Merge
Chez LesFurets.com
@ArnaudPflieger
@BeastieFurets
github.com/lesfurets
@ArnaudPflieger#ContinuousMerge
LesFurets.com
1er site indépendant de comparaison d’assurance
2 500 000 devis/an
@ArnaudPflieger#ContinuousMerge
Continuous delivery chez LesFurets.com
1 MEP / jour
Feature branching :
•3-10 branches par...
@ArnaudPflieger#ContinuousMerge
Feature branching ?
Feature branching ≠ Trunk Based Delivery
•Pourquoi ?
•Comment ?
@YourTwitterHandle@YourTwitterHandle@ArnaudPflieger#ContinuousMerge
Etat de l’art du Continuous Delivery
Le Trunk Based D…...
@ArnaudPflieger#ContinuousMerge
Le Trunk Based Dwhatever
Commit -> Build -> Prod
• @axelfontaine
• Continuous Delivery by ...
@ArnaudPflieger#ContinuousMerge
TBD - un plan galère
•Tests automatisés pas suffisants
•Déploiements pas complètement auto...
@YourTwitterHandle@YourTwitterHandle@ArnaudPflieger#ContinuousMerge
Feature Branching
@ArnaudPflieger#ContinuousMerge
master
features/f1
features/f2
@ArnaudPflieger#ContinuousMerge
Ok banco pour les feature branches !
@ArnaudPflieger#ContinuousMerge
@ArnaudPflieger#ContinuousMerge
La perte de l’IC
•Maven (compile + tests)
•Environnement de test (dog fooding)
•Selenium
•...
@ArnaudPflieger#ContinuousMerge
La perte de l’IC
•Maven (compile + tests)
•Environnement de test (dog fooding)
•Selenium
•...
:(
@YourTwitterHandle@YourTwitterHandle@ArnaudPflieger#ContinuousMerge
Le Continuous Merge
Merge automatique !
@ArnaudPflieger#ContinuousMerge
master
features/f1
features/f1 features/f2
octopusoctopus
@ArnaudPflieger#ContinuousMerge
Construire l’octopus
n’existe pas !git merge features/*
git octopus
github.com/lesfurets/g...
@YourTwitterHandle@YourTwitterHandle@ArnaudPflieger#ContinuousMerge
Demo
@ArnaudPflieger#ContinuousMerge
Les conflits
Au cas par cas
• Eviter le conflit
• Sortir de l’IC
• Mettre l’un devant l’aut...
@YourTwitterHandle@YourTwitterHandle@ArnaudPflieger#ContinuousMerge
Workflow jusqu’en prod
@ArnaudPflieger#ContinuousMerge
ticket1
ticket2
ticket3
ticket4
ticket5
features releaseslocal
ticket3master
git branch ti...
@ArnaudPflieger#ContinuousMerge
Les bons ingrédients
•Proximité des équipes
•Développements indépendants
•Bonne maitrise d...
@YourTwitterHandle@YourTwitterHandle@ArnaudPflieger#ContinuousMerge
Peut-on mieux faire ?
@ArnaudPflieger#ContinuousMerge
La suite
•Tendre vers 1 Mep / branche
•Tuer les problèmes de conflits
@ArnaudPflieger#ContinuousMerge
A toi, amis du SCRUM
Tu releases ton soft au moins une fois par mois ?
Le continuous deliv...
@ArnaudPflieger#ContinuousMerge
Le mot de la fin
Le TBD n’est pas une fatalité pour faire du
Continuous delivery
@ArnaudPflieger#ContinuousMerge
github.com/lesfurets/git-octopus
@BeastieFurets
Prochain SlideShare
Chargement dans…5
×

Le Continuous Merge chez LesFurets.com - Devoxx 2015

2 483 vues

Publié le

Session Devoxx 2015: Le Continuous Merge chez LesFurets.com

Partage du fonctionnement de l'outillage Git chez LesFurets.com. Le "merge continu" étend notre intégration continue pour nous permettre de gérer au quotidien plus d’une cinquantaine de branches de développement. Détection des conflits, intégration, qualité ... Venez découvrir comment nous livrons 5 à 20 branches de code en production chaque jour !

Pflieger Arnaud
Développeur full stack chez LesFurets.com Je fais du Java, du front-end, beaucoup de git ... J'ai participé à la mise en place du continuous delivery et m'occupe d'améliorer l'usine logicielle.

Publié dans : Internet
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 483
Sur SlideShare
0
Issues des intégrations
0
Intégrations
316
Actions
Partages
0
Téléchargements
20
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Le Continuous Merge chez LesFurets.com - Devoxx 2015

  1. 1. @ArnaudPflieger#ContinuousMerge Le Continuous Merge Chez LesFurets.com @ArnaudPflieger @BeastieFurets github.com/lesfurets
  2. 2. @ArnaudPflieger#ContinuousMerge LesFurets.com 1er site indépendant de comparaison d’assurance 2 500 000 devis/an
  3. 3. @ArnaudPflieger#ContinuousMerge Continuous delivery chez LesFurets.com 1 MEP / jour Feature branching : •3-10 branches par MEP •40-70 branches en cours
  4. 4. @ArnaudPflieger#ContinuousMerge Feature branching ? Feature branching ≠ Trunk Based Delivery •Pourquoi ? •Comment ?
  5. 5. @YourTwitterHandle@YourTwitterHandle@ArnaudPflieger#ContinuousMerge Etat de l’art du Continuous Delivery Le Trunk Based D… (TBD)
  6. 6. @ArnaudPflieger#ContinuousMerge Le Trunk Based Dwhatever Commit -> Build -> Prod • @axelfontaine • Continuous Delivery by Jez Humble • http://en.wikipedia.org/wiki/Continuous_delivery
  7. 7. @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
  8. 8. @YourTwitterHandle@YourTwitterHandle@ArnaudPflieger#ContinuousMerge Feature Branching
  9. 9. @ArnaudPflieger#ContinuousMerge master features/f1 features/f2
  10. 10. @ArnaudPflieger#ContinuousMerge Ok banco pour les feature branches !
  11. 11. @ArnaudPflieger#ContinuousMerge
  12. 12. @ArnaudPflieger#ContinuousMerge La perte de l’IC •Maven (compile + tests) •Environnement de test (dog fooding) •Selenium •Intégration du code / resolution des conflits
  13. 13. @ArnaudPflieger#ContinuousMerge La perte de l’IC •Maven (compile + tests) •Environnement de test (dog fooding) •Selenium •Intégration du code / resolution des conflits
  14. 14. :(
  15. 15. @YourTwitterHandle@YourTwitterHandle@ArnaudPflieger#ContinuousMerge Le Continuous Merge Merge automatique !
  16. 16. @ArnaudPflieger#ContinuousMerge master features/f1 features/f1 features/f2 octopusoctopus
  17. 17. @ArnaudPflieger#ContinuousMerge Construire l’octopus n’existe pas !git merge features/* git octopus github.com/lesfurets/git-octopus
  18. 18. @YourTwitterHandle@YourTwitterHandle@ArnaudPflieger#ContinuousMerge Demo
  19. 19. @ArnaudPflieger#ContinuousMerge Les conflits Au cas par cas • Eviter le conflit • Sortir de l’IC • Mettre l’un devant l’autre • Feature toggle
  20. 20. @YourTwitterHandle@YourTwitterHandle@ArnaudPflieger#ContinuousMerge Workflow jusqu’en prod
  21. 21. @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
  22. 22. @ArnaudPflieger#ContinuousMerge Les bons ingrédients •Proximité des équipes •Développements indépendants •Bonne maitrise de Git •Code sain •MEPs fréquentes
  23. 23. @YourTwitterHandle@YourTwitterHandle@ArnaudPflieger#ContinuousMerge Peut-on mieux faire ?
  24. 24. @ArnaudPflieger#ContinuousMerge La suite •Tendre vers 1 Mep / branche •Tuer les problèmes de conflits
  25. 25. @ArnaudPflieger#ContinuousMerge A toi, amis du SCRUM Tu 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
  26. 26. @ArnaudPflieger#ContinuousMerge Le mot de la fin Le TBD n’est pas une fatalité pour faire du Continuous delivery
  27. 27. @ArnaudPflieger#ContinuousMerge github.com/lesfurets/git-octopus @BeastieFurets

×