-
Diplômes
-
Diplôme ingénieur ISIMA (statut apprenti)
-
2ème année
-
Semestre 7
-
Tronc commun
-
Informatique-S7
-
Intégration continue
Intégration continue
Objectifs
Objectis du cours :
- Comprendre les principes fondamentaux et les avantages de l'intégration continue (CI).
- Mettre en œuvre des pipelines CI pour automatiser les tâches de construction, de test et de déploiement.
- Découvrir les outils et technologies couramment utilisés pour la CI.
- Promouvoir la collaboration et les bonnes pratiques au sein des équipes de développement.
Plan du cours
Introduction à l'Intégration Continue
- Historique et concepts de base de l'intégration continue.
- Rôle de la CI dans les méthodologies DevOps et Agile.
- Avantages et limitations de la CI.
- Présentation des outils populaires (Jenkins, GitHub Actions, GitLab CI/CD, etc.).
Contrôle de Version et Pratiques Collaboratives
- Importance du contrôle de version pour la CI.
- Bonnes pratiques avec Git (branches, commits, pull requests).
- Gestion des conflits de code et révision de code.
- Intégration des workflows Git dans un système CI.
Mise en Place d’un Pipeline CI
- Architecture d’un pipeline CI.
- Étapes typiques : construction, tests, analyse de code, packaging.
- Configuration de pipelines avec GitHub Actions ou GitLab CI.
- Déploiement d’un projet de démonstration.
Automatisation des Tests
- Importance des tests dans le processus CI.
- Types de tests : unitaires, fonctionnels, d'intégration, etc.
- Intégration des outils de test automatisés (JUnit, Selenium, etc.) dans le pipeline CI.
- Gestion des rapports de test et des métriques de couverture de code.
Analyse de Code et Gestion des Dépendances
- Introduction aux outils d’analyse statique et dynamique (SonarQube, Checkstyle).
- Gestion des dépendances et sécurité (OWASP Dependency-Check, Snyk).
- Résolution des vulnérabilités signalées.
Déploiement Continu (Introduction)
- Concepts de base du déploiement continu (CD).
- Différences entre CI, CD et livraison continue.
- Déploiement automatisé dans des environnements de staging et de production.
- Présentation des environnements Docker et Kubernetes.
Description des TP
Les TP auront lieu tout au long des séances de cours/TD intégrés.
Connaissances requises
A remplir
RSE (Responsabilité Sociale et Environnementale)
Bibliographie
Documentation officielle des outils CI :