Le Continuous Merge chez LesFurets.com - Devoxx 2015

2 304 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 304
Sur SlideShare
0
Issues des intégrations
0
Intégrations
290
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

×