Filière: Electronique
Electrotechnique Automatique et
PLAN informatique industrielle
1 Introduction générale
2 Contexte générale du projet
3 Étude et analyse du projet
Réalisation du projet
5 Conclusion et perspectives
Ecole Nationale des Sciences Appliquées de Safi
1 Introduction générale 2 3 4
Succès Échec
Serveur IC
Dév back-end Dév front-end
Commit Changes
Figure 1 :Processus d'Intégration Continue en DevOps
Ecole Nationale des Sciences Appliquées de Safi 3/24
1 2 Contexte général du projet 3 4
CI/CD Technologie clés du pipeline
CI (Intégration continue):
• Les développeurs poussent le code vers un dépôt de code Informer le développeur Pousser le code
• Un serveur de test/build vérifie le code dès qu'il est des résultats du build souvent
poussé
• Le développeur reçoit des retours sur les tests et
vérifications réussis/échoués
• Livrer plus rapidement car le code
• Déployer souvent Serveur de build Dépôt de code
récupérer le code & compiler et tester
Figure 2 :Cycle de l'Intégration Continue (CI) en DevOps
Ecole Nationale des Sciences Appliquées de Safi 4/24
1 2 Contexte général du projet 3 4
CI/CD Technologie clés du pipeline
Dépôt de code
CD (Déploiment/livraison continue):
Serveur de build
• S'assurer que le logiciel peut être déployé de manière
fiable à tout moment
• Garantir que les déploiements sont fréquents et rapides Serveur
• déploiement automatisé de déploiement
Serveur Serveur
d'application V1 d'application V1
Serveur Serveur
d'application V2 d'application V2
Figure 3 :Architecture du processus de Déploiement Continu
Ecole Nationale des Sciences Appliquées de Safi 5/24
1 2 Contexte général du projet 3 4
Types de déploiement Meilleurs pratiques
Security as a code: Collaboration interfonctionnelle:
o Sécurité dans le pipeline (SIP) o Travail d'équipe
o Sécurité du pipeline (SOP) o Automatisation et méthodologies agile
o Sécurité autour du pipeline (SAP) o Outils de coordination
Automatisation de l’infrastructure :
o Déploiements rapides et efficaces
o Outils devops
o Critères de sélection d‘outils
Ecole Nationale des Sciences Appliquées de Safi 10/24
1 2 3 Étude et analyse du projet 4 5
Analyse des besoins Choix des outils pour le pipeline Architecture du pipeline
Besoins en automatisation du développement et du déploiement
Les pipelines CI/CD améliorent la qualité des logiciels en fournissant des statistiques sur les constructions de
projet et en permettant de suivre les phases d'intégration et de test.
Intégration continue Livraison continue Déploiement continu
Publication Déploiement
Compilation Fusion automatique dans le automatique en
Test
dépôt production
Figure 7 :Illustration Des différentes phases du pipeline
Ecole Nationale des Sciences Appliquées de Safi 11/24
1 2 3 Étude et analyse du projet 4 5
Analyse des besoins Choix des outiles pour le pipeline Architecture du pipeline
Exigences techniques pour le pipeline CI/CD
Les exigences techniques des pipelines CI/CD varie en fonction des besoins spécifiques
du projet et des techniques utilisés.
Support multiplateforme Gestion des dépendances Gestion des notifications et des alertes
Ecole Nationale des Sciences Appliquées de Safi 12/24
1 2 3 4 Réalisation du projet 5
La phase l’intégration continue CI La phase du déploiement continu CD
o Provisionnement d'instances EC2 AWS :
Le choix d’instances EC2 t2.medium pour héberger et exécuter les serveurs jenkins, sonarqube et nexus est basé sur
plusieurs critères.
Figure 9 : Choix des nombres d’instances et de l’AMI Figure 10 : Exécution de l’instance Jenkins sur le conteneur Docker
Ecole Nationale des Sciences Appliquées de Safi 16/24
1 2 3 4 Réalisation du projet 5
La phase l’intégration continue CI La phase du déploiement continu CD
o Intégration de sonarqube et connexion à jenkins :
SonarQube est exécuté en arrière-plan sur un conteneur Docker, en mappant le port 9000 du système hôte sur celui du
conteneur.
.
Figure 11 : Exécution de l’image sonarqube sur un conteneur Docker Figure 12: Tableau de bord de Jenkins
Ecole Nationale des Sciences Appliquées de Safi 17/24
1 2 3 4 Réalisation du projet 5
La phase l’intégration continue CI La phase du déploiement continu CD
o Création du pipeline :
Avant de concevoir le pipeline, nous devons installer et configurer des extensions (plugins) pour améliorer les
fonctionnalités de base de Jenkins et faciliter son intégration avec d'autres outils.
Figure 13: L’installation des plugins avec succès Figure 14: Configuration du plugin sonar
Ecole Nationale des Sciences Appliquées de Safi 18/24
1 2 3 4 Réalisation du projet 5
La phase l’intégration continue CI La phase du déploiement continu CD
o Création du pipeline :
Nous créons le pipeline, composé de
plusieurs étapes appelées stages, à
l'aide d'un script généré par Jenkins.
Figure 15 : Le pipeline CI/CD
Ecole Nationale des Sciences Appliquées de Safi 19/24
Webographie
Comparing Different CI/CD Pipelines,Virtanen, Joni (2021)
[Consulté le: 15 Avril 2024]
Les-avantages-et-les-inconvenients-des-pipelines-CI-CD
[Consulté le : 28 Avril 2024]
CI/CD Pipelines Evolution and Restructuring: A Qualitative and Quantitative Study
[Consulté le : 1 Mai 2024]
Comparing Different CI/CD Pipelines
[Consulté le : 2 Mai 2024]
Learn Jenkins! Complete Jenkins Course
[Consulté le : 5 Mai 2024]
How to Get Started with Docker
[Consulté le : 10 Mai 2024]
How to Integrate SonarQube With Jenkins
[Consulté le : 10 Mai 2024]
Sonarqube Complete Tutorial
[Consulté le : 12 Mai 2024]
How to Use Jenkins to Build and Run an Image Using Docker
[Consulté le : 13 Mai 2024]
Build & Push Docker Image using Jenkins Pipeline
[Consulté le : 13 Mai 2024]
Ecole Nationale des Sciences Appliquées de Safi 22/24