Contenu connexe
Similaire à Présentation travail du stage (20)
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
- 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
- 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
- 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
- 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
- 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