Introduction à l'intégration continue
- Principes de l'intégration continue.
- Développement agile et intégration continue.
- Prérequis à l'intégration continue.
- Techniques de développement adaptées à l'intégration continue.
- Différents types de tests et d'audit d'une application.
- Cycle de vie du processus de développement.
- Outils annexes et intégration.
Démonstration
Découverte de Jenkins.
Mise en place et automatisation du Build
- Mise en place du serveur, les différents types d'installation.
- Configuration : page principale de la configuration, configuration de Git/SVN, serveur de mail.
- Jenkins et le Build, les meilleures pratiques et méthodes recommandées.
- Stratégies et techniques de notification.
- Fixer les dépendances entre les travaux de Build.
- Jenkins et Maven : rappel sur Maven, configuration du Build Maven, déploiement dans un repository Maven.
Exercice
Création et configuration d'un Projet Maven Jenkins basé sur un repo Git.
Qualité du code
- Introduction, intégration de la qualité dans le processus de build.
- Outils d'analyse : Checkstyle, FindBugs, CPD/PMD.
- Configuration du rapport qualité avec le plugin Violations.
- Rapport de complexité, sur les tâches ouvertes.
Exercice
Adaptation du projet Jenkins pour inclure les outils d'analyse de qualité de code et suivi de la qualité dans le temps.
Automatisation des tests
- Introduction, terminologie du test.
- Automatisation des tests unitaires et d'intégration.
- Configuration des rapports.
- Mesurer la couverture de test.
- Automatisation des tests d'acceptance.
- Automatisation des tests de performance avec JMeter.
- Optimiser les temps d'exécution des tests.
Exercice
Adaptation du projet Jenkins pour inclure JUnit et suivi des tests de performance avec JMeter.
Automatisation du déploiement
- Mise en place du script de déploiement.
- Mise à jour des bases de données.
- Tests minimaux. Retour en arrière.
Exercice
Adaptation du projet Jenkins pour automatiser le déploiement de l'artefact construit.
Administration d'un serveur Jenkins
- Activation de la sécurité et mise en place simple.
- Différents types de bases utilisateurs.
- Gestion des autorisations et des rôles.
- Journalisation des actions utilisateur.
- Gestion de l'espace disque.
- Monitoring de la charge CPU.
- Sauvegarde de la configuration.