L’objectif de cette formation est de vous présenter les concepts et les outils liés à une mise en œuvre de l’intégration continue avec les technologies C++.
Détails de la formation
Méthodes et outils pédagogiques
Réflexion de groupe et apports théoriques du formateur
Travail d'échange avec les participants sous forme de réunion-discussion
Utilisation de cas concrets issus de l'expérience professionnelle
Alternance entre apports théoriques et exercices pratiques (en moyenne 30 et 70%)
Assistance post-formation d’une durée de 1 an sur le contenu de la formation via notre adresse mail dédiée formateurs@atpformation.com
Objectifs de la formation
Comprendre les principes de l'intégration continue.
Installer et configurer un serveur Jenkins.
Intégrer Jenkins avec les autres outils (SCM, outil de build, ...).
Automatiser les builds, les productions de documentation, les tests, les audits de code et les déploiements.
Méthodes d'évaluation
Evaluation des acquis tout au long de la formation par des exercices de synthèse
Positionnement préalable oral ou écrit,
Evaluation sommative faite par le formateur ou à l'aide des certifications disponible
Pré-requis
Bien connaître le langage de programmation C++ et une chaîne doutils de build associée.
Modalités d'enseignement
En présentiel
En distanciel
Public cible
Tous publics
Programme
1
La théorie des tests
- Les différents niveaux de test (unitaires, intégration, vérification et qualification)
- La non-régression
- Pourquoi mettre en oeuvre des procédures de tests automatiques ?
- Présentation des outils utiles pour les tests
2
Mise en oeuvre de tests unitaires en C++
- Présentation des outils d'automatisation de jeux de tests en C++
- Installation et mise en oeuvre de CppUnit
- Installation et mise en oeuvre de Boost UnitTest
- Intégration dans un IDE
3
Code coverage en C++
- Pourquoi faire du "code coverage"
- Présentation de loutil GCov
- Analyse de rapport produit par GCov
4
Introduction à l'intégration continue
- Qu'est-ce que l'intégration continue ?
- Historique de Jenkins
- Installation de Jenkins
- Les plugins Jenkins
5
Configuration de Jenkins
- Prise en main de l'interface
- Configuration de la sécurité
- Configuration des divers outils
- Configuration pour l'envoi automatique de mails
6
Création de projets Jenkins
- Qu'est-ce qu'un « Job » (un projet) ?
- Choix du SCM (Source Code Management)
- Quand lancer le build ?
- Gestion des builds
7
Automatisation des tests dans Jenkins
- Configurer l'automatisation des tests
- Intégration des rapports sur l'exécution des jeux de tests
- Profilage des batteries de tests (Valgrind, CProf, ...)
8
Outils d'analyse de qualité des codes
- Présentation de l'outil CppCheck
- Présentation de l'outil SonarQube
- Intégration des rapports dans Jenkins
9
Produire la documentation
- Présentation de l'outil Doxygen
- Ajout de Doxygen dans le processus de build
- Intégration de la documentation dans Jenkins
10
Aspects complémentaires
- Gestion des pipelines
- Gestion des noeuds (master, slaves)
- La console de script Jenkins
- L'outils Jenkins-CLI