Blog Zenika

#CodeTheWorld

Flash InfoZenika Tv

Continuous delivery en contexte breton

Dans cette vidéo vous allez suivre Mathieu, meilleur ouvrier pâtissier de France, dans son intervention chez un fabricant de Kouign-aman pour l’aider à améliorer son processus de fabrication et de livraison. Cela va vous permettre de découvrir quelques outils pour mettre en place une plateforme de Continuous Delivery.

Mathieu intervient dans la pâtisserie de Julie, experte pâtissière, et Hermin’, chargé de la livraison. Lorsque Julie présente ses méthodes de fabrication à Mathieu, celui-ci est effaré : pas de gestion de version, pas de test et pas d’intégration continue. Quand à Hermin’, il livre tout à la main en se basant sur un vieux manuscrit : la moindre erreur d’étourderie et le processus est à recommencer ! Heureusement, Mathieu est là pour les aider à s’améliorer.
En effet, être capable de mettre en production rapidement et automatiquement toute nouvelle version d’une application vous permet à vous, développeur, d’avoir un feedback rapide de vos utilisateurs sur la nouvelle “killing feature” que vous venez de développer.
Tout commence par le gestionnaire de version (Git ici) qui va tracer l’évolution du code source. Le système d’intégration continue (Jenkins) va scruter ce gestionnaire de version et exécuter les tests de l’application à chaque fois qu’un changement est détecté. Ceci vous permet d’avoir un retour rapide sur les modifications que vous avez apportées. Plus vous obtenez un feedback rapide sur votre nouveau code, plus tôt vous pourrez réagir en conséquence et faire une correction. Bien sûr, pour cela, charge à votre équipe d’écrire des tests qui couvrent correctement votre application.
Pour la suite du processus, une fois que Jenkins a validé les tests, il va produire le livrable de votre application : une image Docker. Cette image embarque votre application, sa configuration, ainsi que tous les composants systèmes nécessaires à son exécution (un OS, des librairies, un serveur web, etc.). Ainsi, cette image est auto-suffisante et peut être directement déployée sur une machine de production. D’ailleurs, n’importe qui peut prendre cette image Docker et l’exécuter sur son poste, ce qui est très pratique au sein d’une équipe. Par exemple, les développeurs front peuvent récupérer l’image du backend et l’exécuter sur leur poste.
Une fois le livrable créé, il faut maintenant le livrer. Dans la fabrique de Kouign-aman, Hermin’ fait tout à la main, en suivant son manuel de livraison en Breton. D’ailleurs, lorsque Julie lui fournit un Kouign-aman rond, il est bien embêté pour le faire rentrer dans sa boîte carrée. L’utilisation d’une image Docker permet à Julie de s’assurer que son Kouign-aman sera livré dans un environnement conforme à ses attentes. Cela simplifie aussi la tâche d’Hermin’, qui peut maintenant gérer un format standard.
Enfin, l’utilisation de Rundeck permet à Hermin’ d’automatiser le processus de livraison. Avec cette chaîne de Continuous Delivery mise en place, dès que Julie pousse dans Git une nouvelle version de l’application, Jenkins exécute les tests, crée une image Docker et Rundeck la livre. Dans la vidéo, Hermin’ profite de ce nouveau temps libre pour aller s’adonner à sa passion favorite : la cornemuse. En réalité, il a maintenant la charge de monitorer tout cela, afin de s’assurer d’avoir un retour rapide lors d’une défaillance d’un élément de la chaîne.
Merci à tous les participants :
– Hermin’ Rougier : https://twitter.com/herminoel
– Armel Gouriou : https://twitter.com/agouriou
– Julie Bourhis : https://twitter.com/Julie_Bourhis
– Maxime Odye : https://twitter.com/MaxOdye
– Mathieu Pousse : https://twitter.com/m_pousse

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

En savoir plus sur Blog Zenika

Abonnez-vous pour poursuivre la lecture et avoir accès à l’ensemble des archives.

Continue reading