SlideShare une entreprise Scribd logo
Du Docker dans mon
workflow de Dev
L’équipe Kodo Kojo
Jean-Pascal THIERY
@jpthiery
2
Antoine LE TAXIN
@modulom
?
4
Démocratisation de la conteneurisation
● Conteneuriser des agents de build
● Conteneuriser Jenkins
● Conteneuriser toute une usine logicielle ?
5
6
Orchestration, le chaînon manquant
● Piloter un ensemble de conteneurs
sur un ensemble de machines
7
● Outils d’infrastructure
De nouvelles solutions d’usines...
● La fin du Jenkins hyper-mutualisé inmaintenable
● La fin de la ferme de Jenkins qui n’est utilisée que 2 h / jour
8
9
… avec quelques contraintes
10
● Le monitoring dans tout ça ?
● La gestion de mes différents projets ?
● La gestion de mes utilisateurs ?
11
12
Et les tests ?
● Node, npm
● Java / Maven
● Redis
● Mesos / Marathon / Docker
● Gitlab / Ruby
● Jenkins
● Nexus
● ...
13
Tester le front
Tests unitaires, tests d’intégration (composants), Style Guide...
● Pour monter en local l’UI avec un backend ?
● Pour tester l’intégration avec l’API ?
14
Tester le back
Tests unitaires
● Interactions avec les briques (Gitlab, etc.) ?
● Interactions avec Marathon ?
15
Docker
(encore ?)
Tests - Tu te mock ?
● Avoir la main sur le comportement des scénarios de tests
● Implémenter tous les comportements de tous les outils…
et les maintenir tout le temps
17
Lancer chaque type de service sur le poste
● Pouvoir lancer de vrais tests d’intégration
● Maintenir les versions à jour
● Il faut s’assurer à la main de l’état initial entre chaque test
18
Les containers à la rescousse !
● Pouvoir lancer les tests de la même manière quel que soit l’environnement
● L’état initial d’un test est reproductible très facilement
● Pouvoir paralléliser l’exécution des tests
● Introduit de la complexité (gestion réseau, logs, …)
19
Frontend, comment tester l’intégration de l’API ?
=> Tests fonctionnels (ou e2e)
=> API pour développement
● Monter en local le cluster avec docker-compose
● Se brancher sur l’API d’un serveur distant (environnement de dev)
● Se brancher sur un serveur de mock (kodokojo-mocks)
20
Backend, objectif des tests d’intégration
● Interaction avec les briques d’une usines logicielle
● Couvrir plus de code
○ API Rest
○ Configuration des briques
21
Backend
22
Backend
23
Le build
● Gestion isolée des versions des dépendances
● Délégation des étapes de tests
● Facilite le partage de la partie front
Faire une image du front pour le backeux
25
● Créer une image de build
● Packager l’application dans une image de déploiement
Construire l’image front en deux étapes
26
Faire « une » image du back pour le fronteux
● Pas besoin d’installer toute la stack back (Java, Maven, etc.)
● Grâce à docker-compose, on peut lancer toutes les images qui constituent la
stack back
● Facilite l’accès aux logs
27
Les gains du build avec Docker
● Tests reproductibles
● Build reproductible
● Pas besoin s’installer toutes la stack, juste Docker
● Pas besoin de savoir comment le composant est contruit: lancer le build.sh et
utiliser l’image en sortie
28
Intégration continue avec Docker
● Jenkins
○ Multi-branch pipeline plugin
○ Jenkinsfile
29
Conclusion
● Développement puis intégration Front <-> Back
● Docker -> deploy anywhere !
● Test d’intégration continu avec d’autres briques technologiques tierces
(Redis, RabbitMq, Marathon, …)
30
31
Merci !
https://kodokojo.io
https://github.com/kodokojo
https://gitter.im/kodokojo/kodokojo
@kodokojo

Contenu connexe

Tendances

NightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous DeliveryNightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous Delivery
Zenika
 
Paris Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascriptParis Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascript
Michael Akbaraly
 
Du développement à la livraison avec JavaFX et le JDK9
Du développement à la livraison avec JavaFX et le JDK9Du développement à la livraison avec JavaFX et le JDK9
Du développement à la livraison avec JavaFX et le JDK9
Thierry Wasylczenko
 
Intégration Continue PHP avec Jenkins CI
Intégration Continue PHP avec Jenkins CIIntégration Continue PHP avec Jenkins CI
Intégration Continue PHP avec Jenkins CI
Hugo Hamon
 
Industrialisation PHP - Canal+
Industrialisation PHP - Canal+Industrialisation PHP - Canal+
Industrialisation PHP - Canal+
ekino
 
Jenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverteJenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverte
Stephane Couzinier
 
PHP Composer : Pourquoi ? Comment ? Et plus ...
PHP Composer : Pourquoi ? Comment ? Et plus ...PHP Composer : Pourquoi ? Comment ? Et plus ...
PHP Composer : Pourquoi ? Comment ? Et plus ...
Romain Cambien
 
NightClazz Build Tools & Continuous Delivery Avancé
NightClazz Build Tools & Continuous Delivery AvancéNightClazz Build Tools & Continuous Delivery Avancé
NightClazz Build Tools & Continuous Delivery Avancé
Zenika
 
Kit de Developpement Synolia
Kit de Developpement SynoliaKit de Developpement Synolia
Kit de Developpement Synolia
Rachid Zarouali
 
Déploiement et gestion d'un site web avec Rancher
Déploiement et gestion d'un site web avec RancherDéploiement et gestion d'un site web avec Rancher
Déploiement et gestion d'un site web avec Rancher
Anthony Sigogne
 
Journée DevOps : Puppet, un outil pour les installer tous
Journée DevOps : Puppet, un outil pour les installer tousJournée DevOps : Puppet, un outil pour les installer tous
Journée DevOps : Puppet, un outil pour les installer tous
Publicis Sapient Engineering
 
Puppet, la philosophie DevOps
Puppet, la philosophie DevOpsPuppet, la philosophie DevOps
Puppet, la philosophie DevOps
Jeoffrey Bauvin
 
Démo puppet et état du projet
Démo puppet et état du projetDémo puppet et état du projet
Démo puppet et état du projet
New Caledonian Government
 
Gitlab CI : Integration et Déploiement Continue
Gitlab CI : Integration et Déploiement ContinueGitlab CI : Integration et Déploiement Continue
Gitlab CI : Integration et Déploiement Continue
Vincent Composieux
 
L'integration continue pour tous
L'integration continue pour tousL'integration continue pour tous
L'integration continue pour tous
Aurelien Navarre
 
20081008 - Tours Jug - Apache Maven
20081008  - Tours Jug - Apache Maven20081008  - Tours Jug - Apache Maven
20081008 - Tours Jug - Apache Maven
Arnaud Héritier
 
What's Next Replay - IC / Jenkins
What's Next Replay - IC / JenkinsWhat's Next Replay - IC / Jenkins
What's Next Replay - IC / Jenkins
ZenikaOuest
 
DevOps avec Ansible et Docker
DevOps avec Ansible et DockerDevOps avec Ansible et Docker
DevOps avec Ansible et Docker
Stephane Manciot
 
Intégration continue des projets PHP avec Jenkins
Intégration continue des projets PHP avec JenkinsIntégration continue des projets PHP avec Jenkins
Intégration continue des projets PHP avec Jenkins
Hugo Hamon
 
Jenkins - perdre du temps pour en gagner
Jenkins - perdre du temps pour en gagnerJenkins - perdre du temps pour en gagner
Jenkins - perdre du temps pour en gagner
Geeks Anonymes
 

Tendances (20)

NightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous DeliveryNightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous Delivery
 
Paris Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascriptParis Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascript
 
Du développement à la livraison avec JavaFX et le JDK9
Du développement à la livraison avec JavaFX et le JDK9Du développement à la livraison avec JavaFX et le JDK9
Du développement à la livraison avec JavaFX et le JDK9
 
Intégration Continue PHP avec Jenkins CI
Intégration Continue PHP avec Jenkins CIIntégration Continue PHP avec Jenkins CI
Intégration Continue PHP avec Jenkins CI
 
Industrialisation PHP - Canal+
Industrialisation PHP - Canal+Industrialisation PHP - Canal+
Industrialisation PHP - Canal+
 
Jenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverteJenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverte
 
PHP Composer : Pourquoi ? Comment ? Et plus ...
PHP Composer : Pourquoi ? Comment ? Et plus ...PHP Composer : Pourquoi ? Comment ? Et plus ...
PHP Composer : Pourquoi ? Comment ? Et plus ...
 
NightClazz Build Tools & Continuous Delivery Avancé
NightClazz Build Tools & Continuous Delivery AvancéNightClazz Build Tools & Continuous Delivery Avancé
NightClazz Build Tools & Continuous Delivery Avancé
 
Kit de Developpement Synolia
Kit de Developpement SynoliaKit de Developpement Synolia
Kit de Developpement Synolia
 
Déploiement et gestion d'un site web avec Rancher
Déploiement et gestion d'un site web avec RancherDéploiement et gestion d'un site web avec Rancher
Déploiement et gestion d'un site web avec Rancher
 
Journée DevOps : Puppet, un outil pour les installer tous
Journée DevOps : Puppet, un outil pour les installer tousJournée DevOps : Puppet, un outil pour les installer tous
Journée DevOps : Puppet, un outil pour les installer tous
 
Puppet, la philosophie DevOps
Puppet, la philosophie DevOpsPuppet, la philosophie DevOps
Puppet, la philosophie DevOps
 
Démo puppet et état du projet
Démo puppet et état du projetDémo puppet et état du projet
Démo puppet et état du projet
 
Gitlab CI : Integration et Déploiement Continue
Gitlab CI : Integration et Déploiement ContinueGitlab CI : Integration et Déploiement Continue
Gitlab CI : Integration et Déploiement Continue
 
L'integration continue pour tous
L'integration continue pour tousL'integration continue pour tous
L'integration continue pour tous
 
20081008 - Tours Jug - Apache Maven
20081008  - Tours Jug - Apache Maven20081008  - Tours Jug - Apache Maven
20081008 - Tours Jug - Apache Maven
 
What's Next Replay - IC / Jenkins
What's Next Replay - IC / JenkinsWhat's Next Replay - IC / Jenkins
What's Next Replay - IC / Jenkins
 
DevOps avec Ansible et Docker
DevOps avec Ansible et DockerDevOps avec Ansible et Docker
DevOps avec Ansible et Docker
 
Intégration continue des projets PHP avec Jenkins
Intégration continue des projets PHP avec JenkinsIntégration continue des projets PHP avec Jenkins
Intégration continue des projets PHP avec Jenkins
 
Jenkins - perdre du temps pour en gagner
Jenkins - perdre du temps pour en gagnerJenkins - perdre du temps pour en gagner
Jenkins - perdre du temps pour en gagner
 

En vedette

Piloter un loadbalancer pour exposer les microservoces de mon cluster Mesos/M...
Piloter un loadbalancer pour exposer les microservoces de mon cluster Mesos/M...Piloter un loadbalancer pour exposer les microservoces de mon cluster Mesos/M...
Piloter un loadbalancer pour exposer les microservoces de mon cluster Mesos/M...
Kodo Kojo
 
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
Kubernetes Architecture and Introduction – Paris Kubernetes MeetupKubernetes Architecture and Introduction – Paris Kubernetes Meetup
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
Stefan Schimanski
 
Weekly market update week ending 2017 february 19
Weekly market update week ending 2017 february 19Weekly market update week ending 2017 february 19
Weekly market update week ending 2017 february 19
Joey Tran
 
PresentacióN Jat Venado
PresentacióN Jat VenadoPresentacióN Jat Venado
PresentacióN Jat Venado
camposdeabril
 
PresentacióN1
PresentacióN1PresentacióN1
PresentacióN1
guestaf9800
 
Visioning and Beyond
Visioning and BeyondVisioning and Beyond
Visioning and Beyond
Tracey Davis-Witmyer
 
Serrano LandíNez
Serrano LandíNezSerrano LandíNez
Serrano LandíNez
guestf83d50
 
Sud Manos Que Ayudan
Sud Manos Que AyudanSud Manos Que Ayudan
Sud Manos Que Ayudan
Galo Salazar Murillo
 
Final project ppt
Final project pptFinal project ppt
Final project ppt
Udit Shah
 
Metodo de teoria completo bonna
Metodo de teoria completo   bonnaMetodo de teoria completo   bonna
Metodo de teoria completo bonna
Cristiano Trombini
 
SLanguages es la conferencia de enseñanza de idiomas en mundos virtuales
SLanguages es la conferencia de enseñanza de idiomas en mundos virtualesSLanguages es la conferencia de enseñanza de idiomas en mundos virtuales
SLanguages es la conferencia de enseñanza de idiomas en mundos virtuales
slanguages
 
DéCalogo
DéCalogoDéCalogo
DéCalogo
verozonteponte
 
1280-p
1280-p1280-p
1280-p
briwa
 
Promocion del viaje
Promocion del viajePromocion del viaje
Promocion del viaje
Francisco Sebastian Cabascango
 
Las Patas Del Sistema
Las Patas Del SistemaLas Patas Del Sistema
Las Patas Del Sistema
camposdeabril
 
Executive Summary (1)
Executive Summary (1)Executive Summary (1)
Executive Summary (1)
Harsh Patel
 
Livestock industry in Malaysia
Livestock industry in MalaysiaLivestock industry in Malaysia
Livestock industry in Malaysia
Razak Majid
 
фестиваль браво! пш
фестиваль браво! пшфестиваль браво! пш
фестиваль браво! пш
jekah
 

En vedette (18)

Piloter un loadbalancer pour exposer les microservoces de mon cluster Mesos/M...
Piloter un loadbalancer pour exposer les microservoces de mon cluster Mesos/M...Piloter un loadbalancer pour exposer les microservoces de mon cluster Mesos/M...
Piloter un loadbalancer pour exposer les microservoces de mon cluster Mesos/M...
 
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
Kubernetes Architecture and Introduction – Paris Kubernetes MeetupKubernetes Architecture and Introduction – Paris Kubernetes Meetup
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
 
Weekly market update week ending 2017 february 19
Weekly market update week ending 2017 february 19Weekly market update week ending 2017 february 19
Weekly market update week ending 2017 february 19
 
PresentacióN Jat Venado
PresentacióN Jat VenadoPresentacióN Jat Venado
PresentacióN Jat Venado
 
PresentacióN1
PresentacióN1PresentacióN1
PresentacióN1
 
Visioning and Beyond
Visioning and BeyondVisioning and Beyond
Visioning and Beyond
 
Serrano LandíNez
Serrano LandíNezSerrano LandíNez
Serrano LandíNez
 
Sud Manos Que Ayudan
Sud Manos Que AyudanSud Manos Que Ayudan
Sud Manos Que Ayudan
 
Final project ppt
Final project pptFinal project ppt
Final project ppt
 
Metodo de teoria completo bonna
Metodo de teoria completo   bonnaMetodo de teoria completo   bonna
Metodo de teoria completo bonna
 
SLanguages es la conferencia de enseñanza de idiomas en mundos virtuales
SLanguages es la conferencia de enseñanza de idiomas en mundos virtualesSLanguages es la conferencia de enseñanza de idiomas en mundos virtuales
SLanguages es la conferencia de enseñanza de idiomas en mundos virtuales
 
DéCalogo
DéCalogoDéCalogo
DéCalogo
 
1280-p
1280-p1280-p
1280-p
 
Promocion del viaje
Promocion del viajePromocion del viaje
Promocion del viaje
 
Las Patas Del Sistema
Las Patas Del SistemaLas Patas Del Sistema
Las Patas Del Sistema
 
Executive Summary (1)
Executive Summary (1)Executive Summary (1)
Executive Summary (1)
 
Livestock industry in Malaysia
Livestock industry in MalaysiaLivestock industry in Malaysia
Livestock industry in Malaysia
 
фестиваль браво! пш
фестиваль браво! пшфестиваль браво! пш
фестиваль браво! пш
 

Similaire à Du Docker dans notre workflow de dev

JavaFX et le JDK9
JavaFX et le JDK9JavaFX et le JDK9
JavaFX et le JDK9
Thierry Wasylczenko
 
I le langage java d'una manière avancée introduction
I  le langage java d'una manière avancée introductionI  le langage java d'una manière avancée introduction
I le langage java d'una manière avancée introduction
sabrine_hamdi
 
Xcode Server - Jeffrey Macko
Xcode Server - Jeffrey MackoXcode Server - Jeffrey Macko
Xcode Server - Jeffrey Macko
CocoaHeads France
 
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
XavierPestel
 
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...
Publicis Sapient Engineering
 
Qualité & Industrialisation des développements mobiles sur iOS & Android
Qualité & Industrialisation des développements mobiles sur iOS & AndroidQualité & Industrialisation des développements mobiles sur iOS & Android
Qualité & Industrialisation des développements mobiles sur iOS & Android
Thibaud CAVIN
 
Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'ts
Julien Wittouck
 
Docker, Pierre angulaire du continuous delivery ?
Docker, Pierre angulaire du continuous delivery ?Docker, Pierre angulaire du continuous delivery ?
Docker, Pierre angulaire du continuous delivery ?
Adrien Blind
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Jasmine Conseil
 
Usine Logicielle 2013
Usine Logicielle 2013Usine Logicielle 2013
Usine Logicielle 2013
Stéphane Liétard
 
Configurer GitHub Actions avec Docker et DotNET 8.pdf
Configurer GitHub Actions avec Docker et DotNET 8.pdfConfigurer GitHub Actions avec Docker et DotNET 8.pdf
Configurer GitHub Actions avec Docker et DotNET 8.pdf
Hamida Rebai Trabelsi
 
Scub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreScub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libre
Stéphane Traumat
 
De la chaîne de production au SI géré par des logiciels
De la chaîne de production au SI géré par des logicielsDe la chaîne de production au SI géré par des logiciels
De la chaîne de production au SI géré par des logiciels
Johan Moreau
 
01_Introduction_a_JEE.pdf
01_Introduction_a_JEE.pdf01_Introduction_a_JEE.pdf
01_Introduction_a_JEE.pdf
Junior724645
 
Infrastructure as code drupal
Infrastructure as code drupalInfrastructure as code drupal
Infrastructure as code drupal
Christophe Villeneuve
 
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
TelecomValley
 
Docker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatiqueDocker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatique
sdenier
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptxJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
AnisSalhi3
 
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...Introduction à Docker et utilisation en production /Digital apéro Besançon [1...
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...
Silicon Comté
 
Presentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub FoundationPresentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub Foundation
Stéphane Traumat
 

Similaire à Du Docker dans notre workflow de dev (20)

JavaFX et le JDK9
JavaFX et le JDK9JavaFX et le JDK9
JavaFX et le JDK9
 
I le langage java d'una manière avancée introduction
I  le langage java d'una manière avancée introductionI  le langage java d'una manière avancée introduction
I le langage java d'una manière avancée introduction
 
Xcode Server - Jeffrey Macko
Xcode Server - Jeffrey MackoXcode Server - Jeffrey Macko
Xcode Server - Jeffrey Macko
 
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
 
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...
 
Qualité & Industrialisation des développements mobiles sur iOS & Android
Qualité & Industrialisation des développements mobiles sur iOS & AndroidQualité & Industrialisation des développements mobiles sur iOS & Android
Qualité & Industrialisation des développements mobiles sur iOS & Android
 
Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'ts
 
Docker, Pierre angulaire du continuous delivery ?
Docker, Pierre angulaire du continuous delivery ?Docker, Pierre angulaire du continuous delivery ?
Docker, Pierre angulaire du continuous delivery ?
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
 
Usine Logicielle 2013
Usine Logicielle 2013Usine Logicielle 2013
Usine Logicielle 2013
 
Configurer GitHub Actions avec Docker et DotNET 8.pdf
Configurer GitHub Actions avec Docker et DotNET 8.pdfConfigurer GitHub Actions avec Docker et DotNET 8.pdf
Configurer GitHub Actions avec Docker et DotNET 8.pdf
 
Scub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreScub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libre
 
De la chaîne de production au SI géré par des logiciels
De la chaîne de production au SI géré par des logicielsDe la chaîne de production au SI géré par des logiciels
De la chaîne de production au SI géré par des logiciels
 
01_Introduction_a_JEE.pdf
01_Introduction_a_JEE.pdf01_Introduction_a_JEE.pdf
01_Introduction_a_JEE.pdf
 
Infrastructure as code drupal
Infrastructure as code drupalInfrastructure as code drupal
Infrastructure as code drupal
 
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
 
Docker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatiqueDocker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatique
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptxJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
 
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...Introduction à Docker et utilisation en production /Digital apéro Besançon [1...
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...
 
Presentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub FoundationPresentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub Foundation
 

Dernier

Shimla Girls call Service 000XX00000 Provide Best And Top Girl Service And No...
Shimla Girls call Service 000XX00000 Provide Best And Top Girl Service And No...Shimla Girls call Service 000XX00000 Provide Best And Top Girl Service And No...
Shimla Girls call Service 000XX00000 Provide Best And Top Girl Service And No...
manalishivani8
 
Note agro-climatique et prairies n°5 - Juillet 2024
Note agro-climatique et prairies n°5 - Juillet 2024Note agro-climatique et prairies n°5 - Juillet 2024
Note agro-climatique et prairies n°5 - Juillet 2024
idelewebmestre
 
Etude de la faisabilité de la climatisation solaire pour l’habitat individuel...
Etude de la faisabilité de la climatisation solaire pour l’habitat individuel...Etude de la faisabilité de la climatisation solaire pour l’habitat individuel...
Etude de la faisabilité de la climatisation solaire pour l’habitat individuel...
iheberry
 
cours-sur-les-stations-de-pompageen génie civil.pdf
cours-sur-les-stations-de-pompageen génie civil.pdfcours-sur-les-stations-de-pompageen génie civil.pdf
cours-sur-les-stations-de-pompageen génie civil.pdf
afigloria194
 
Webinaire BL 28_06_02_Consommation Energie.pdf
Webinaire BL 28_06_02_Consommation Energie.pdfWebinaire BL 28_06_02_Consommation Energie.pdf
Webinaire BL 28_06_02_Consommation Energie.pdf
Institut de l'Elevage - Idele
 
Webinaire BL 28_06_03_Transmissibilité.pdf
Webinaire BL 28_06_03_Transmissibilité.pdfWebinaire BL 28_06_03_Transmissibilité.pdf
Webinaire BL 28_06_03_Transmissibilité.pdf
Institut de l'Elevage - Idele
 
Webinaire BL 28_06_01_robots de traite.pdf
Webinaire BL 28_06_01_robots de traite.pdfWebinaire BL 28_06_01_robots de traite.pdf
Webinaire BL 28_06_01_robots de traite.pdf
Institut de l'Elevage - Idele
 

Dernier (7)

Shimla Girls call Service 000XX00000 Provide Best And Top Girl Service And No...
Shimla Girls call Service 000XX00000 Provide Best And Top Girl Service And No...Shimla Girls call Service 000XX00000 Provide Best And Top Girl Service And No...
Shimla Girls call Service 000XX00000 Provide Best And Top Girl Service And No...
 
Note agro-climatique et prairies n°5 - Juillet 2024
Note agro-climatique et prairies n°5 - Juillet 2024Note agro-climatique et prairies n°5 - Juillet 2024
Note agro-climatique et prairies n°5 - Juillet 2024
 
Etude de la faisabilité de la climatisation solaire pour l’habitat individuel...
Etude de la faisabilité de la climatisation solaire pour l’habitat individuel...Etude de la faisabilité de la climatisation solaire pour l’habitat individuel...
Etude de la faisabilité de la climatisation solaire pour l’habitat individuel...
 
cours-sur-les-stations-de-pompageen génie civil.pdf
cours-sur-les-stations-de-pompageen génie civil.pdfcours-sur-les-stations-de-pompageen génie civil.pdf
cours-sur-les-stations-de-pompageen génie civil.pdf
 
Webinaire BL 28_06_02_Consommation Energie.pdf
Webinaire BL 28_06_02_Consommation Energie.pdfWebinaire BL 28_06_02_Consommation Energie.pdf
Webinaire BL 28_06_02_Consommation Energie.pdf
 
Webinaire BL 28_06_03_Transmissibilité.pdf
Webinaire BL 28_06_03_Transmissibilité.pdfWebinaire BL 28_06_03_Transmissibilité.pdf
Webinaire BL 28_06_03_Transmissibilité.pdf
 
Webinaire BL 28_06_01_robots de traite.pdf
Webinaire BL 28_06_01_robots de traite.pdfWebinaire BL 28_06_01_robots de traite.pdf
Webinaire BL 28_06_01_robots de traite.pdf
 

Du Docker dans notre workflow de dev

  • 1. Du Docker dans mon workflow de Dev
  • 2. L’équipe Kodo Kojo Jean-Pascal THIERY @jpthiery 2 Antoine LE TAXIN @modulom
  • 3. ?
  • 4. 4
  • 5. Démocratisation de la conteneurisation ● Conteneuriser des agents de build ● Conteneuriser Jenkins ● Conteneuriser toute une usine logicielle ? 5
  • 6. 6
  • 7. Orchestration, le chaînon manquant ● Piloter un ensemble de conteneurs sur un ensemble de machines 7 ● Outils d’infrastructure
  • 8. De nouvelles solutions d’usines... ● La fin du Jenkins hyper-mutualisé inmaintenable ● La fin de la ferme de Jenkins qui n’est utilisée que 2 h / jour 8
  • 9. 9
  • 10. … avec quelques contraintes 10 ● Le monitoring dans tout ça ? ● La gestion de mes différents projets ? ● La gestion de mes utilisateurs ?
  • 11. 11
  • 12. 12
  • 13. Et les tests ? ● Node, npm ● Java / Maven ● Redis ● Mesos / Marathon / Docker ● Gitlab / Ruby ● Jenkins ● Nexus ● ... 13
  • 14. Tester le front Tests unitaires, tests d’intégration (composants), Style Guide... ● Pour monter en local l’UI avec un backend ? ● Pour tester l’intégration avec l’API ? 14
  • 15. Tester le back Tests unitaires ● Interactions avec les briques (Gitlab, etc.) ? ● Interactions avec Marathon ? 15
  • 17. Tests - Tu te mock ? ● Avoir la main sur le comportement des scénarios de tests ● Implémenter tous les comportements de tous les outils… et les maintenir tout le temps 17
  • 18. Lancer chaque type de service sur le poste ● Pouvoir lancer de vrais tests d’intégration ● Maintenir les versions à jour ● Il faut s’assurer à la main de l’état initial entre chaque test 18
  • 19. Les containers à la rescousse ! ● Pouvoir lancer les tests de la même manière quel que soit l’environnement ● L’état initial d’un test est reproductible très facilement ● Pouvoir paralléliser l’exécution des tests ● Introduit de la complexité (gestion réseau, logs, …) 19
  • 20. Frontend, comment tester l’intégration de l’API ? => Tests fonctionnels (ou e2e) => API pour développement ● Monter en local le cluster avec docker-compose ● Se brancher sur l’API d’un serveur distant (environnement de dev) ● Se brancher sur un serveur de mock (kodokojo-mocks) 20
  • 21. Backend, objectif des tests d’intégration ● Interaction avec les briques d’une usines logicielle ● Couvrir plus de code ○ API Rest ○ Configuration des briques 21
  • 25. ● Gestion isolée des versions des dépendances ● Délégation des étapes de tests ● Facilite le partage de la partie front Faire une image du front pour le backeux 25
  • 26. ● Créer une image de build ● Packager l’application dans une image de déploiement Construire l’image front en deux étapes 26
  • 27. Faire « une » image du back pour le fronteux ● Pas besoin d’installer toute la stack back (Java, Maven, etc.) ● Grâce à docker-compose, on peut lancer toutes les images qui constituent la stack back ● Facilite l’accès aux logs 27
  • 28. Les gains du build avec Docker ● Tests reproductibles ● Build reproductible ● Pas besoin s’installer toutes la stack, juste Docker ● Pas besoin de savoir comment le composant est contruit: lancer le build.sh et utiliser l’image en sortie 28
  • 29. Intégration continue avec Docker ● Jenkins ○ Multi-branch pipeline plugin ○ Jenkinsfile 29
  • 30. Conclusion ● Développement puis intégration Front <-> Back ● Docker -> deploy anywhere ! ● Test d’intégration continu avec d’autres briques technologiques tierces (Redis, RabbitMq, Marathon, …) 30