REX sur l'outilage Continuous Delivery
-
Upload
damien-goldenberg -
Category
Engineering
-
view
1.009 -
download
0
Transcript of REX sur l'outilage Continuous Delivery
![Page 1: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/1.jpg)
CONTINUOUS DELIVERYChez
REXSur l’outillage
![Page 2: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/2.jpg)
Sommaire
• Introduction• Github Flow• Continuous Integration• Production• DevBox• Conclusion
![Page 3: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/3.jpg)
Sommaire
• Introduction• Github Flow• Continuous Integration• Production• DevBox• Conclusion
![Page 4: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/4.jpg)
Introduction
• Qu’est ce que le Continuous Integration ?
• Qu’est ce que le Continuous Delivery ?
• L’architecture microservice
![Page 5: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/5.jpg)
Continuous Integration
![Page 6: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/6.jpg)
Continuous Delivery
![Page 7: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/7.jpg)
Architecture Microservice
PetitAutonomeFait une chose et le fait bienVision Business
![Page 8: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/8.jpg)
Architecture MicroserviceAvantages
• Possibilités d’utiliser différentes technologies• Résiliente• Scalable• Simple à déployer• Remplacement simple
![Page 9: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/9.jpg)
Les livres
![Page 10: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/10.jpg)
Sommaire
• Introduction• Github Flow• Continuous Integration• Production• DevBox• Conclusion
![Page 11: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/11.jpg)
Github Flow
• Git flow• Découverte du Github Flow• Présentation du Github Flow• Utilisation du Github Flow chez TraxAir
![Page 12: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/12.jpg)
Github Flow
Fork du git flow
![Page 13: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/13.jpg)
Github Flow
Comment on a découvert le github flow ?
![Page 14: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/14.jpg)
Github Flow
Création de la branche (feature, hotfix …)
![Page 15: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/15.jpg)
Github Flow
Commits (développements)
![Page 16: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/16.jpg)
Github Flow
Ouverture de la pull request (Release candidate)
![Page 17: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/17.jpg)
Github Flow
Revue du code & discution
![Page 18: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/18.jpg)
Github Flow
Déploiement de la release
![Page 19: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/19.jpg)
Github Flow
Merge de la release
![Page 20: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/20.jpg)
Github FlowComment est utilisé github chez traxair
Phase de déploiment & merge confondue
Un kanban
![Page 21: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/21.jpg)
Github FlowComment est utilisé github chez traxair
![Page 22: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/22.jpg)
Sommaire
• Introduction• Github Flow• Continuous Integration• Production• DevBox• Conclusion
![Page 23: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/23.jpg)
Continuous integration
• Anatomie d’un container• L’architecture• Le workflow de la CI
![Page 24: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/24.jpg)
L’anatomie d’un container
Image de base
La configuration
L’applicationComposants
Le script de démarrage
Paramètres de démarrage
![Page 25: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/25.jpg)
Continuous Integration
![Page 26: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/26.jpg)
Continuous IntegrationArchitecture
![Page 27: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/27.jpg)
Continuous IntegrationDétection du changement
![Page 28: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/28.jpg)
Continuous IntegrationQu’est ce qui doit être testé ?
Relation d’ordre topologique sur composants connexes du graphe orienté acyclique
![Page 29: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/29.jpg)
Continuous IntegrationLes tests
Environnement isolé et propre
• Test unitaire• Service• End to end
Temps moyen d’un test 2-3 minutes
![Page 30: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/30.jpg)
Continuous IntegrationLes tests
Emulation d’un microservice (stub)
![Page 31: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/31.jpg)
Continuous IntegrationLe build
Temps moyen d’un build• Librairie : 1 minute• Microservice : 4 minutes• Image de base : 30 minutes
![Page 32: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/32.jpg)
Continuous Integration
![Page 33: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/33.jpg)
Continuous Integration
![Page 34: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/34.jpg)
Continuous Integration
Code ReviewQualité de code
![Page 35: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/35.jpg)
Sommaire
• Introduction• Github Flow• Continuous Integration• Production• Conclusion
![Page 36: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/36.jpg)
ProductionL’infrastructure
![Page 37: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/37.jpg)
ProductionLe déploiement
• Swarm• Compose
![Page 38: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/38.jpg)
ProductionLe monitoring
• Datadog, monitoring as a service• ELK, centralisation des logs
![Page 39: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/39.jpg)
Sommaire
• Introduction• Github Flow• Continuous Integration• Production• DevBox• Conclusion
![Page 40: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/40.jpg)
DevBox
![Page 41: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/41.jpg)
Devbox
Docker ComposeMakefile
![Page 42: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/42.jpg)
DevboxFicher 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
![Page 43: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/43.jpg)
Sommaire
• Introduction• Github Flow• Continuous Integration• Production• Conclusion
![Page 44: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/44.jpg)
ConclusionLes 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
![Page 45: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/45.jpg)
ConclusionLes 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
![Page 46: REX sur l'outilage Continuous Delivery](https://reader035.fdocuments.fr/reader035/viewer/2022081414/586ff8af1a28ab92198b76f7/html5/thumbnails/46.jpg)
ConclusionCe qu’on prévoit