SlideShare une entreprise Scribd logo
1  sur  35
OCTO Part of Accenture Digital © 2019 - All rights reserved
Mise en œuvre d’un pipeline CI/CD pour une application sur Kubernetes et du
module fonctionnel de supervision du déploiement
ENCADRER PAR : PRÉSENTER PAR :
Mme Fatiha AKEF
BAHALLA TAOUFIQ
Mr LANDRY DEFO KUATE
Mr Mohamed YOUSSFI
Soutenu le 08 juillet 2020
Département : Mathématique informatique
Filière : Génie du Logiciel et des Systèmes Informatiques Distribués
OCTO Part of Accenture Digital © 2019 - All rights reserved
//
//
//
//
//
01
Entreprise d’accueil
02
Contexte et sujet de stage
03
DevOps sur dakibot
04
Déploiement de la plateforme
dakibot
05
APIs de monitoring
Plan
2
06
IHM de supervision
THERE IS A BETTER WAY
Entreprise d’accueil
OCTO Part of Accenture Digital © 2019 - All rights reserved 4
Octo Technology
OCTO Part of Accenture Digital © 2019 - All rights reserved
◉ Qualité logiciel.
◉ Amélioration continue.
◉ Esprit start-up.
◉ Le partage.
◉ Innovation.
5
Culture d’Octo Technology
OCTO Part of Accenture Digital © 2019 - All rights reserved
◉ Conseil.
◉ Produits logiciels.
◉ Formations.
6
Expertises d’Octo Technology
THERE IS A BETTER WAY
Contexte et sujet de
stage
OCTO Part of Accenture Digital © 2019 - All rights reserved
CI/CD
8
Sujet de stage
Dakibot
Frontend
Backend
Chatbots
Cluster Kubernetes / Cloud
OCTO Part of Accenture Digital © 2019 - All rights reserved
◉Déploiement de la plateforme infrastructure Dakibot complète avec Terraform et
Ansible
◉Construire le pipeline CI/CD permettant de déployer en un click de bout en bout tout
changement sur Dakibot
◉Mettre en œuvre une IHM de supervision des déploiements Dakibot
9
Objectifs du stage
OCTO Part of Accenture Digital © 2019 - All rights reserved
◉ Phase 1 : Prise de connaissance du contexte actuelle de Dakibot et prise en main des
déploiements actuels pour devenir le DevOps sur Dakibot
> Durée : 2 semaines
◉ Phase 2 : Conception du module de déploiement sur Dakibot et le Pipeline CI/CD
> Durée : 1 mois
◉ Phase 3 : Réalisation du module de déploiement sur Dakibot et le Pipeline CI/CD
> Durée : 2 mois
10
Plan et phases de projet
OCTO Part of Accenture Digital © 2019 - All rights reserved 11
Conduite du projet
SCRUM + Kanban
THERE IS A BETTER WAY
DevOps sur
Dakibot
OCTO Part of Accenture Digital © 2019 - All rights reserved 13
DevOps
DevOps
Culture
Infrastructure as
code
Cloud Ready Apps CI / CD
OCTO Part of Accenture Digital © 2019 - All rights reserved
◉ Voir l’infrastructure et faire l’inventaire des machines.
◉ Voir l’architecture de déploiement de différents composant de dakibot.
◉ Voir et manipuler les scripts Ansible et Kubernetes.
14
Comprendre l’architecture de déploiement et l’infrastructure de dakibot
OCTO Part of Accenture Digital © 2019 - All rights reserved 15
Provisionnement de l’infrastructure avec Terraform
NFS Server, jenkins, HAProxy
Kubernetes cluster : 1 Master node et
3 worker nodes
Scripts Terraform à jour
OCTO Part of Accenture Digital © 2019 - All rights reserved
◉ Simplifier la configuration de HAProxy en utilisant Ansible et Jinja2.
◉ Tester le rôle Ansible avec Kitchenci
16
Configuration HAProxy
OCTO Part of Accenture Digital © 2019 - All rights reserved
◉ Créer le rôle Ansible pour installer le service NFS.
◉ Tester le rôle NFS avec Kitchenci.
17
Créer le rôle Ansible NFS
OCTO Part of Accenture Digital © 2019 - All rights reserved
◉ Travailler sur les scripts de Kubespary pour provisionner le cluster kubernetes :
> Utiliser kubespray pour déployer un cluster kubernetes
> Ajouter un worker node au cluster en utilisant kubespray .
> Supprimer un worker node en utilisant kubespray .
18
Provisionnement du cluster kubernetes avec Kubespray
THERE IS A BETTER WAY
Déploiement
de dakibot
OCTO Part of Accenture Digital © 2019 - All rights reserved 20
Pipeline CI/CD pour le backend dakibot
Code
Checkout
Build
Test
Analyse Sonar
Docker build
Docker publish
Deploy to k8s
OCTO Part of Accenture Digital © 2019 - All rights reserved 21
Pipeline CI/CD pour le frontend dakibot
Code
Checkout
Docker build
Docker publish
Deploy to k8s
OCTO Part of Accenture Digital © 2019 - All rights reserved 22
Pipeline CI/CD pour les chatbots
Code
Checkout
Docker build
Docker publish
Deploy to k8s
OCTO Part of Accenture Digital © 2019 - All rights reserved 23
Technologies utilisé dans les Pipeline
OCTO Part of Accenture Digital © 2019 - All rights reserved 24
Pipeline Jenkins backend dakibot
OCTO Part of Accenture Digital © 2019 - All rights reserved 25
Pipeline Jenkins frontend dakibot
OCTO Part of Accenture Digital © 2019 - All rights reserved 26
Pipeline des chatbots
THERE IS A BETTER WAY
API de
monitoring
OCTO Part of Accenture Digital © 2019 - All rights reserved 28
Récupération des métriques de déploiement
Gitlab
Jenkins
Kubernetes
HAProxy
Gitlab API :
gitlab4j
Jenkins java
client
Kubernetes java
client
HAProxy stats
Data
parsing
REST API
OCTO Part of Accenture Digital © 2019 - All rights reserved 29
Documentation API avec Swagger
OCTO Part of Accenture Digital © 2019 - All rights reserved 30
Etapes du pipeline pour déployer les artefacts
Code
Checkout
Build
Test
Analyse Sonar
Deploy jar to Nexus
OCTO Part of Accenture Digital © 2019 - All rights reserved 31
Pipeline Jenkins des APIs
THERE IS A BETTER WAY
IHM de
supervision
OCTO Part of Accenture Digital © 2019 - All rights reserved 33
IHM statuts des déploiements des bots
OCTO Part of Accenture Digital © 2019 - All rights reserved 34
IHM détails de déploiement d’un bot
Présentation travail du stage

Contenu connexe

Tendances

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
 
Introduction à la qualité logicielle (1/5)
Introduction à la qualité logicielle (1/5)Introduction à la qualité logicielle (1/5)
Introduction à la qualité logicielle (1/5)Sylvain Leroy
 
Mémoire : Cloud iaas Slim Hannachi
Mémoire :  Cloud iaas Slim HannachiMémoire :  Cloud iaas Slim Hannachi
Mémoire : Cloud iaas Slim Hannachislim Hannachi
 
PFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementPFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementNassim Bahri
 
Pfe soutenance presentation aboulfadl issam
Pfe soutenance presentation aboulfadl issamPfe soutenance presentation aboulfadl issam
Pfe soutenance presentation aboulfadl issamIssamABOULFADL
 
L’INNOVATION PEDAGOGIQUE DANS LES MÉTHODES, APPORTS DES TICS
L’INNOVATION  PEDAGOGIQUE  DANS LES MÉTHODES, APPORTS DES TICSL’INNOVATION  PEDAGOGIQUE  DANS LES MÉTHODES, APPORTS DES TICS
L’INNOVATION PEDAGOGIQUE DANS LES MÉTHODES, APPORTS DES TICSMejdi Ayari
 
Rapport (Mémoire de Master) de stage PFE pour l’obtention du Diplôme Nationa...
Rapport (Mémoire de Master) de stage PFE pour  l’obtention du Diplôme Nationa...Rapport (Mémoire de Master) de stage PFE pour  l’obtention du Diplôme Nationa...
Rapport (Mémoire de Master) de stage PFE pour l’obtention du Diplôme Nationa...Mohamed Amine Mahmoudi
 
Intégration Continue pour Android
Intégration Continue pour AndroidIntégration Continue pour Android
Intégration Continue pour AndroidSalma ES-Salmani
 
Tadx - Présentation Conteneurisation
Tadx -  Présentation ConteneurisationTadx -  Présentation Conteneurisation
Tadx - Présentation ConteneurisationTADx
 
Ingéniérie de la Foad
Ingéniérie de la FoadIngéniérie de la Foad
Ingéniérie de la FoadClerquin Sarah
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOpsMicrosoft
 
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Saadaoui Marwen
 
Conception et développement d'une application Android pour TUNISAIR
Conception et développement d'une application Android pour TUNISAIRConception et développement d'une application Android pour TUNISAIR
Conception et développement d'une application Android pour TUNISAIRSkander Driss
 
Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015Anouar Kacem
 
Presentation de soutenance du Projet Fin d'Etudes
Presentation de soutenance du Projet Fin d'EtudesPresentation de soutenance du Projet Fin d'Etudes
Presentation de soutenance du Projet Fin d'EtudesTahani RIAHI
 
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Nawres Farhat
 

Tendances (20)

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 ...
 
E-learning
E-learningE-learning
E-learning
 
Introduction à la qualité logicielle (1/5)
Introduction à la qualité logicielle (1/5)Introduction à la qualité logicielle (1/5)
Introduction à la qualité logicielle (1/5)
 
Visio.nt
Visio.ntVisio.nt
Visio.nt
 
Mémoire : Cloud iaas Slim Hannachi
Mémoire :  Cloud iaas Slim HannachiMémoire :  Cloud iaas Slim Hannachi
Mémoire : Cloud iaas Slim Hannachi
 
PFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementPFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignement
 
Modele-elearning
Modele-elearningModele-elearning
Modele-elearning
 
Pfe soutenance presentation aboulfadl issam
Pfe soutenance presentation aboulfadl issamPfe soutenance presentation aboulfadl issam
Pfe soutenance presentation aboulfadl issam
 
L’INNOVATION PEDAGOGIQUE DANS LES MÉTHODES, APPORTS DES TICS
L’INNOVATION  PEDAGOGIQUE  DANS LES MÉTHODES, APPORTS DES TICSL’INNOVATION  PEDAGOGIQUE  DANS LES MÉTHODES, APPORTS DES TICS
L’INNOVATION PEDAGOGIQUE DANS LES MÉTHODES, APPORTS DES TICS
 
Rapport (Mémoire de Master) de stage PFE pour l’obtention du Diplôme Nationa...
Rapport (Mémoire de Master) de stage PFE pour  l’obtention du Diplôme Nationa...Rapport (Mémoire de Master) de stage PFE pour  l’obtention du Diplôme Nationa...
Rapport (Mémoire de Master) de stage PFE pour l’obtention du Diplôme Nationa...
 
Intégration Continue pour Android
Intégration Continue pour AndroidIntégration Continue pour Android
Intégration Continue pour Android
 
Tadx - Présentation Conteneurisation
Tadx -  Présentation ConteneurisationTadx -  Présentation Conteneurisation
Tadx - Présentation Conteneurisation
 
Ingéniérie de la Foad
Ingéniérie de la FoadIngéniérie de la Foad
Ingéniérie de la Foad
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOps
 
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
 
Conception et développement d'une application Android pour TUNISAIR
Conception et développement d'une application Android pour TUNISAIRConception et développement d'une application Android pour TUNISAIR
Conception et développement d'une application Android pour TUNISAIR
 
Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFE
 
Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015
 
Presentation de soutenance du Projet Fin d'Etudes
Presentation de soutenance du Projet Fin d'EtudesPresentation de soutenance du Projet Fin d'Etudes
Presentation de soutenance du Projet Fin d'Etudes
 
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
 

Similaire à Présentation travail du stage

L'histoire d'une infrastructure itérative
L'histoire d'une infrastructure itérativeL'histoire d'une infrastructure itérative
L'histoire d'une infrastructure itérativeFrançois Xavier Vende
 
La Duck Conf - "Kube is the new mainframe"
La Duck Conf - "Kube is the new mainframe" La Duck Conf - "Kube is the new mainframe"
La Duck Conf - "Kube is the new mainframe" OCTO Technology
 
La Duck Conf - "Edge computing : le déploiement continu se fait une virée en ...
La Duck Conf - "Edge computing : le déploiement continu se fait une virée en ...La Duck Conf - "Edge computing : le déploiement continu se fait une virée en ...
La Duck Conf - "Edge computing : le déploiement continu se fait une virée en ...OCTO Technology
 
La Duck Conf - "Elle est ou ton appli ? Dans mon kube"
La Duck Conf - "Elle est ou ton appli ? Dans mon kube"La Duck Conf - "Elle est ou ton appli ? Dans mon kube"
La Duck Conf - "Elle est ou ton appli ? Dans mon kube"OCTO Technology
 
La Duck Conf : "Observabilité"
La Duck Conf : "Observabilité"La Duck Conf : "Observabilité"
La Duck Conf : "Observabilité"OCTO Technology
 
LA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolution
LA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolutionLA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolution
LA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolutionOCTO Technology
 
LA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutive
LA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutiveLA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutive
LA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutiveOCTO Technology
 
La Duck Conf - Une équipe plateforme qui délivre
La Duck Conf - Une équipe plateforme qui délivreLa Duck Conf - Une équipe plateforme qui délivre
La Duck Conf - Une équipe plateforme qui délivreOCTO Technology
 
La Duck Conf - "Mon DSI veut une MEP par jour, comment faire de l'architectur...
La Duck Conf - "Mon DSI veut une MEP par jour, comment faire de l'architectur...La Duck Conf - "Mon DSI veut une MEP par jour, comment faire de l'architectur...
La Duck Conf - "Mon DSI veut une MEP par jour, comment faire de l'architectur...OCTO Technology
 
La Duck Conf - Continuous Security : Secure a DevOps World!
La Duck Conf - Continuous Security : Secure a DevOps World!La Duck Conf - Continuous Security : Secure a DevOps World!
La Duck Conf - Continuous Security : Secure a DevOps World!OCTO Technology
 
Accelerate : la vitesse conditionne l'excellence
Accelerate : la vitesse conditionne l'excellence Accelerate : la vitesse conditionne l'excellence
Accelerate : la vitesse conditionne l'excellence OCTO Technology
 
La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"
La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"
La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"OCTO Technology
 
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction Meetup
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction MeetupIBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction Meetup
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction MeetupIBM France Lab
 
CWIN17 Morocco / Microservices as a factory reda zerhouni
CWIN17 Morocco / Microservices as a factory reda zerhouniCWIN17 Morocco / Microservices as a factory reda zerhouni
CWIN17 Morocco / Microservices as a factory reda zerhouniCapgemini
 
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...OCTO Technology
 
Matinale OCTO - "Blockchain : comment s'orienter dans la désorientation"
Matinale OCTO - "Blockchain : comment s'orienter dans la désorientation"Matinale OCTO - "Blockchain : comment s'orienter dans la désorientation"
Matinale OCTO - "Blockchain : comment s'orienter dans la désorientation"OCTO Technology
 
Le Comptoir OCTO x Wakam : Continuous discovery et continuous delivery pour c...
Le Comptoir OCTO x Wakam : Continuous discovery et continuous delivery pour c...Le Comptoir OCTO x Wakam : Continuous discovery et continuous delivery pour c...
Le Comptoir OCTO x Wakam : Continuous discovery et continuous delivery pour c...KarenEdnaOtala
 
Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...
Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...
Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...OCTO Technology
 
La Duck Conf : "Apache Spark : ai-je besoin d'autre chose ?"
La Duck Conf : "Apache Spark : ai-je besoin d'autre chose ?"La Duck Conf : "Apache Spark : ai-je besoin d'autre chose ?"
La Duck Conf : "Apache Spark : ai-je besoin d'autre chose ?"OCTO Technology
 
#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devops#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devopsEmmanuel Roldan
 

Similaire à Présentation travail du stage (20)

L'histoire d'une infrastructure itérative
L'histoire d'une infrastructure itérativeL'histoire d'une infrastructure itérative
L'histoire d'une infrastructure itérative
 
La Duck Conf - "Kube is the new mainframe"
La Duck Conf - "Kube is the new mainframe" La Duck Conf - "Kube is the new mainframe"
La Duck Conf - "Kube is the new mainframe"
 
La Duck Conf - "Edge computing : le déploiement continu se fait une virée en ...
La Duck Conf - "Edge computing : le déploiement continu se fait une virée en ...La Duck Conf - "Edge computing : le déploiement continu se fait une virée en ...
La Duck Conf - "Edge computing : le déploiement continu se fait une virée en ...
 
La Duck Conf - "Elle est ou ton appli ? Dans mon kube"
La Duck Conf - "Elle est ou ton appli ? Dans mon kube"La Duck Conf - "Elle est ou ton appli ? Dans mon kube"
La Duck Conf - "Elle est ou ton appli ? Dans mon kube"
 
La Duck Conf : "Observabilité"
La Duck Conf : "Observabilité"La Duck Conf : "Observabilité"
La Duck Conf : "Observabilité"
 
LA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolution
LA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolutionLA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolution
LA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolution
 
LA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutive
LA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutiveLA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutive
LA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutive
 
La Duck Conf - Une équipe plateforme qui délivre
La Duck Conf - Une équipe plateforme qui délivreLa Duck Conf - Une équipe plateforme qui délivre
La Duck Conf - Une équipe plateforme qui délivre
 
La Duck Conf - "Mon DSI veut une MEP par jour, comment faire de l'architectur...
La Duck Conf - "Mon DSI veut une MEP par jour, comment faire de l'architectur...La Duck Conf - "Mon DSI veut une MEP par jour, comment faire de l'architectur...
La Duck Conf - "Mon DSI veut une MEP par jour, comment faire de l'architectur...
 
La Duck Conf - Continuous Security : Secure a DevOps World!
La Duck Conf - Continuous Security : Secure a DevOps World!La Duck Conf - Continuous Security : Secure a DevOps World!
La Duck Conf - Continuous Security : Secure a DevOps World!
 
Accelerate : la vitesse conditionne l'excellence
Accelerate : la vitesse conditionne l'excellence Accelerate : la vitesse conditionne l'excellence
Accelerate : la vitesse conditionne l'excellence
 
La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"
La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"
La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"
 
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction Meetup
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction MeetupIBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction Meetup
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction Meetup
 
CWIN17 Morocco / Microservices as a factory reda zerhouni
CWIN17 Morocco / Microservices as a factory reda zerhouniCWIN17 Morocco / Microservices as a factory reda zerhouni
CWIN17 Morocco / Microservices as a factory reda zerhouni
 
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...
 
Matinale OCTO - "Blockchain : comment s'orienter dans la désorientation"
Matinale OCTO - "Blockchain : comment s'orienter dans la désorientation"Matinale OCTO - "Blockchain : comment s'orienter dans la désorientation"
Matinale OCTO - "Blockchain : comment s'orienter dans la désorientation"
 
Le Comptoir OCTO x Wakam : Continuous discovery et continuous delivery pour c...
Le Comptoir OCTO x Wakam : Continuous discovery et continuous delivery pour c...Le Comptoir OCTO x Wakam : Continuous discovery et continuous delivery pour c...
Le Comptoir OCTO x Wakam : Continuous discovery et continuous delivery pour c...
 
Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...
Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...
Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...
 
La Duck Conf : "Apache Spark : ai-je besoin d'autre chose ?"
La Duck Conf : "Apache Spark : ai-je besoin d'autre chose ?"La Duck Conf : "Apache Spark : ai-je besoin d'autre chose ?"
La Duck Conf : "Apache Spark : ai-je besoin d'autre chose ?"
 
#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devops#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devops
 

Présentation travail du stage

  • 1. OCTO Part of Accenture Digital © 2019 - All rights reserved Mise en œuvre d’un pipeline CI/CD pour une application sur Kubernetes et du module fonctionnel de supervision du déploiement ENCADRER PAR : PRÉSENTER PAR : Mme Fatiha AKEF BAHALLA TAOUFIQ Mr LANDRY DEFO KUATE Mr Mohamed YOUSSFI Soutenu le 08 juillet 2020 Département : Mathématique informatique Filière : Génie du Logiciel et des Systèmes Informatiques Distribués
  • 2. OCTO Part of Accenture Digital © 2019 - All rights reserved // // // // // 01 Entreprise d’accueil 02 Contexte et sujet de stage 03 DevOps sur dakibot 04 Déploiement de la plateforme dakibot 05 APIs de monitoring Plan 2 06 IHM de supervision
  • 3. THERE IS A BETTER WAY Entreprise d’accueil
  • 4. OCTO Part of Accenture Digital © 2019 - All rights reserved 4 Octo Technology
  • 5. OCTO Part of Accenture Digital © 2019 - All rights reserved ◉ Qualité logiciel. ◉ Amélioration continue. ◉ Esprit start-up. ◉ Le partage. ◉ Innovation. 5 Culture d’Octo Technology
  • 6. OCTO Part of Accenture Digital © 2019 - All rights reserved ◉ Conseil. ◉ Produits logiciels. ◉ Formations. 6 Expertises d’Octo Technology
  • 7. THERE IS A BETTER WAY Contexte et sujet de stage
  • 8. OCTO Part of Accenture Digital © 2019 - All rights reserved CI/CD 8 Sujet de stage Dakibot Frontend Backend Chatbots Cluster Kubernetes / Cloud
  • 9. OCTO Part of Accenture Digital © 2019 - All rights reserved ◉Déploiement de la plateforme infrastructure Dakibot complète avec Terraform et Ansible ◉Construire le pipeline CI/CD permettant de déployer en un click de bout en bout tout changement sur Dakibot ◉Mettre en œuvre une IHM de supervision des déploiements Dakibot 9 Objectifs du stage
  • 10. OCTO Part of Accenture Digital © 2019 - All rights reserved ◉ Phase 1 : Prise de connaissance du contexte actuelle de Dakibot et prise en main des déploiements actuels pour devenir le DevOps sur Dakibot > Durée : 2 semaines ◉ Phase 2 : Conception du module de déploiement sur Dakibot et le Pipeline CI/CD > Durée : 1 mois ◉ Phase 3 : Réalisation du module de déploiement sur Dakibot et le Pipeline CI/CD > Durée : 2 mois 10 Plan et phases de projet
  • 11. OCTO Part of Accenture Digital © 2019 - All rights reserved 11 Conduite du projet SCRUM + Kanban
  • 12. THERE IS A BETTER WAY DevOps sur Dakibot
  • 13. OCTO Part of Accenture Digital © 2019 - All rights reserved 13 DevOps DevOps Culture Infrastructure as code Cloud Ready Apps CI / CD
  • 14. OCTO Part of Accenture Digital © 2019 - All rights reserved ◉ Voir l’infrastructure et faire l’inventaire des machines. ◉ Voir l’architecture de déploiement de différents composant de dakibot. ◉ Voir et manipuler les scripts Ansible et Kubernetes. 14 Comprendre l’architecture de déploiement et l’infrastructure de dakibot
  • 15. OCTO Part of Accenture Digital © 2019 - All rights reserved 15 Provisionnement de l’infrastructure avec Terraform NFS Server, jenkins, HAProxy Kubernetes cluster : 1 Master node et 3 worker nodes Scripts Terraform à jour
  • 16. OCTO Part of Accenture Digital © 2019 - All rights reserved ◉ Simplifier la configuration de HAProxy en utilisant Ansible et Jinja2. ◉ Tester le rôle Ansible avec Kitchenci 16 Configuration HAProxy
  • 17. OCTO Part of Accenture Digital © 2019 - All rights reserved ◉ Créer le rôle Ansible pour installer le service NFS. ◉ Tester le rôle NFS avec Kitchenci. 17 Créer le rôle Ansible NFS
  • 18. OCTO Part of Accenture Digital © 2019 - All rights reserved ◉ Travailler sur les scripts de Kubespary pour provisionner le cluster kubernetes : > Utiliser kubespray pour déployer un cluster kubernetes > Ajouter un worker node au cluster en utilisant kubespray . > Supprimer un worker node en utilisant kubespray . 18 Provisionnement du cluster kubernetes avec Kubespray
  • 19. THERE IS A BETTER WAY Déploiement de dakibot
  • 20. OCTO Part of Accenture Digital © 2019 - All rights reserved 20 Pipeline CI/CD pour le backend dakibot Code Checkout Build Test Analyse Sonar Docker build Docker publish Deploy to k8s
  • 21. OCTO Part of Accenture Digital © 2019 - All rights reserved 21 Pipeline CI/CD pour le frontend dakibot Code Checkout Docker build Docker publish Deploy to k8s
  • 22. OCTO Part of Accenture Digital © 2019 - All rights reserved 22 Pipeline CI/CD pour les chatbots Code Checkout Docker build Docker publish Deploy to k8s
  • 23. OCTO Part of Accenture Digital © 2019 - All rights reserved 23 Technologies utilisé dans les Pipeline
  • 24. OCTO Part of Accenture Digital © 2019 - All rights reserved 24 Pipeline Jenkins backend dakibot
  • 25. OCTO Part of Accenture Digital © 2019 - All rights reserved 25 Pipeline Jenkins frontend dakibot
  • 26. OCTO Part of Accenture Digital © 2019 - All rights reserved 26 Pipeline des chatbots
  • 27. THERE IS A BETTER WAY API de monitoring
  • 28. OCTO Part of Accenture Digital © 2019 - All rights reserved 28 Récupération des métriques de déploiement Gitlab Jenkins Kubernetes HAProxy Gitlab API : gitlab4j Jenkins java client Kubernetes java client HAProxy stats Data parsing REST API
  • 29. OCTO Part of Accenture Digital © 2019 - All rights reserved 29 Documentation API avec Swagger
  • 30. OCTO Part of Accenture Digital © 2019 - All rights reserved 30 Etapes du pipeline pour déployer les artefacts Code Checkout Build Test Analyse Sonar Deploy jar to Nexus
  • 31. OCTO Part of Accenture Digital © 2019 - All rights reserved 31 Pipeline Jenkins des APIs
  • 32. THERE IS A BETTER WAY IHM de supervision
  • 33. OCTO Part of Accenture Digital © 2019 - All rights reserved 33 IHM statuts des déploiements des bots
  • 34. OCTO Part of Accenture Digital © 2019 - All rights reserved 34 IHM détails de déploiement d’un bot