CONTINUOUS DELIVERY
Chez
REX
Sur l’outillage
Sommaire
• Introduction
• Github Flow
• Continuous Integration
• Production
• DevBox
• Conclusion
Sommaire
• Introduction
• Github Flow
• Continuous Integration
• Production
• DevBox
• Conclusion
Introduction
• Qu’est ce que le Continuous Integration ?
• Qu’est ce que le Continuous Delivery ?
• L’architecture microse...
Continuous Integration
Continuous Delivery
Architecture Microservice
Petit
Autonome
Fait une chose et le fait bien
Vision Business
Architecture Microservice
Avantages
• Possibilités d’utiliser différentes technologies
• Résiliente
• Scalable
• Simple à ...
Les livres
Sommaire
• Introduction
• Github Flow
• Continuous Integration
• Production
• DevBox
• Conclusion
Github Flow
• Git flow
• Découverte du Github Flow
• Présentation du Github Flow
• Utilisation du Github Flow chez TraxAir
Github Flow
Fork du git flow
Github Flow
Comment on a découvert le github flow ?
Github Flow
Création de la branche (feature, hotfix …)
Github Flow
Commits (développements)
Github Flow
Ouverture de la pull request (Release candidate)
Github Flow
Revue du code & discution
Github Flow
Déploiement de la release
Github Flow
Merge de la release
Github Flow
Comment est utilisé github chez traxair
Phase de déploiment & merge confondue
Un kanban
Github Flow
Comment est utilisé github chez traxair
Sommaire
• Introduction
• Github Flow
• Continuous Integration
• Production
• DevBox
• Conclusion
Continuous integration
• Anatomie d’un container
• L’architecture
• Le workflow de la CI
L’anatomie d’un container
Image de base
La configuration
L’application
Composants
Le script de démarrage
Paramètres de dém...
Continuous Integration
Continuous Integration
Architecture
Continuous Integration
Détection du changement
Continuous Integration
Qu’est ce qui doit être testé ?
Relation d’ordre topologique sur composants connexes du graphe orie...
Continuous Integration
Les tests
Environnement isolé et propre
• Test unitaire
• Service
• End to end
Temps moyen d’un tes...
Continuous Integration
Les tests
Emulation d’un microservice (stub)
Continuous Integration
Le build
Temps moyen d’un build
• Librairie : 1 minute
• Microservice : 4 minutes
• Image de base :...
Continuous Integration
Continuous Integration
Continuous Integration
Code Review
Qualité de code
Sommaire
• Introduction
• Github Flow
• Continuous Integration
• Production
• Conclusion
Production
L’infrastructure
Production
Le déploiement
• Swarm
• Compose
Production
Le monitoring
• Datadog, monitoring as a service
• ELK, centralisation des logs
Sommaire
• Introduction
• Github Flow
• Continuous Integration
• Production
• DevBox
• Conclusion
DevBox
Devbox
Docker Compose
Makefile
Devbox
Ficher compose
Service_X:
image: registry.com/Service_X
ports:
- "443:443"
volumes:
- Service_X/app:/app
- Service_...
Sommaire
• Introduction
• Github Flow
• Continuous Integration
• Production
• Conclusion
Conclusion
Les difficultés rencontrées
• les microservices, c'est bien, mais c'est difficile
à mettre en place (et ça nous...
Conclusion
Les difficultés rencontrées
• On a fait une itération pour tout le système au
lieu de le faire en plusieurs ité...
Conclusion
Ce qu’on prévoit
Prochain SlideShare
Chargement dans…5
×

REX sur l'outilage Continuous Delivery

1 151 vues

Publié le

REX meetup outillage Continuous Delivery chez TraxAir Music Technologies

Publié dans : Ingénierie
0 commentaire
4 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
1 151
Sur SlideShare
0
Issues des intégrations
0
Intégrations
8
Actions
Partages
0
Téléchargements
23
Commentaires
0
J’aime
4
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

REX sur l'outilage Continuous Delivery

  1. 1. CONTINUOUS DELIVERY Chez REX Sur l’outillage
  2. 2. Sommaire • Introduction • Github Flow • Continuous Integration • Production • DevBox • Conclusion
  3. 3. Sommaire • Introduction • Github Flow • Continuous Integration • Production • DevBox • Conclusion
  4. 4. Introduction • Qu’est ce que le Continuous Integration ? • Qu’est ce que le Continuous Delivery ? • L’architecture microservice
  5. 5. Continuous Integration
  6. 6. Continuous Delivery
  7. 7. Architecture Microservice Petit Autonome Fait une chose et le fait bien Vision Business
  8. 8. Architecture Microservice Avantages • Possibilités d’utiliser différentes technologies • Résiliente • Scalable • Simple à déployer • Remplacement simple
  9. 9. Les livres
  10. 10. Sommaire • Introduction • Github Flow • Continuous Integration • Production • DevBox • Conclusion
  11. 11. Github Flow • Git flow • Découverte du Github Flow • Présentation du Github Flow • Utilisation du Github Flow chez TraxAir
  12. 12. Github Flow Fork du git flow
  13. 13. Github Flow Comment on a découvert le github flow ?
  14. 14. Github Flow Création de la branche (feature, hotfix …)
  15. 15. Github Flow Commits (développements)
  16. 16. Github Flow Ouverture de la pull request (Release candidate)
  17. 17. Github Flow Revue du code & discution
  18. 18. Github Flow Déploiement de la release
  19. 19. Github Flow Merge de la release
  20. 20. Github Flow Comment est utilisé github chez traxair Phase de déploiment & merge confondue Un kanban
  21. 21. Github Flow Comment est utilisé github chez traxair
  22. 22. Sommaire • Introduction • Github Flow • Continuous Integration • Production • DevBox • Conclusion
  23. 23. Continuous integration • Anatomie d’un container • L’architecture • Le workflow de la CI
  24. 24. L’anatomie d’un container Image de base La configuration L’application Composants Le script de démarrage Paramètres de démarrage
  25. 25. Continuous Integration
  26. 26. Continuous Integration Architecture
  27. 27. Continuous Integration Détection du changement
  28. 28. Continuous Integration Qu’est ce qui doit être testé ? Relation d’ordre topologique sur composants connexes du graphe orienté acyclique
  29. 29. Continuous Integration Les tests Environnement isolé et propre • Test unitaire • Service • End to end Temps moyen d’un test 2-3 minutes
  30. 30. Continuous Integration Les tests Emulation d’un microservice (stub)
  31. 31. Continuous Integration Le build Temps moyen d’un build • Librairie : 1 minute • Microservice : 4 minutes • Image de base : 30 minutes
  32. 32. Continuous Integration
  33. 33. Continuous Integration
  34. 34. Continuous Integration Code Review Qualité de code
  35. 35. Sommaire • Introduction • Github Flow • Continuous Integration • Production • Conclusion
  36. 36. Production L’infrastructure
  37. 37. Production Le déploiement • Swarm • Compose
  38. 38. Production Le monitoring • Datadog, monitoring as a service • ELK, centralisation des logs
  39. 39. Sommaire • Introduction • Github Flow • Continuous Integration • Production • DevBox • Conclusion
  40. 40. DevBox
  41. 41. Devbox Docker Compose Makefile
  42. 42. Devbox Ficher compose Service_X: image: registry.com/Service_X ports: - "443:443" volumes: - Service_X/app:/app - Service_X/Service_X.env:/Service_X.env command: dev
  43. 43. Sommaire • Introduction • Github Flow • Continuous Integration • Production • Conclusion
  44. 44. Conclusion Les difficultés rencontrées • les microservices, c'est bien, mais c'est difficile à mettre en place (et ça nous a ralenti). • L’intégration continue
  45. 45. Conclusion Les difficultés rencontrées • On a fait une itération pour tout le système au lieu de le faire en plusieurs itérations • La communication
  46. 46. Conclusion Ce qu’on prévoit

×