Introduction
- Les différents types d'environnement : développement, recette, production.
- La gestion des configurations : système et applicative.
- Le rôle des conteneurs applicatifs : Docker.
- Centralisation des configurations : puppet, Ansible.
- Industrialisation des déploiements.
- Mettre en place une plateforme d'intégration continue.
Gestion des versions
- Les fonctionnalités.
- Les différents gestionnaires de sources : centralisée ou distribuée.
- Les problématiques d'intégration des changements.
- Le rôle des branches et tags.
Travaux pratiques
Manipulation d'un dépôt Git.
Automatisation des Builds
- Qu'est-ce que la construction du logiciel ?
- Les Builds, cycle de vie de projet.
- Les outils de Build avec Maven.
- Plug-ins, profils et modules.
Travaux pratiques
Mise en place de la construction d'un projet simple (Maven).
Gestion des dépôts
- Rôles des gestionnaires de dépôts.
- Les types de dépôts : public, interne.
- La gestion des livrables (artfacts): releases, snapshots, déploiement.
- Organisation des dépôts : développement, test, production.
- Intégration des gestionnaires des dépôts avec les outils de Build, avec les outils de gestion des taches.
- Exemples de solutions : Nexus, Artifactory...
Travaux pratiques
Publication d'artefacts dans Nexus.
Automatisation des tests
- Quels tests et pour faire quoi ?
- Les environnements de tests.
- Présentation d'outils de test.
- La mise en œuvre de l'automatisation des tests.
Travaux pratiques
Mise en place de tests automatisés avec JUnit.
Serveur d'intégration continue
- Le rôle du serveur d'intégration continue.
- Les grandes fonctionnalités.
- La gestion des tâches (job).
- La dépendance entre tâches.
- Les serveurs : Hudson/Jenkins, CruiseControle, Bamboo...
Travaux pratiques
Configuration du projet sur un serveur d'intégration continue Jenkins.
Mise en place de métriques
- La génération de rapports.
- Les outils d'analyse et de reporting (PMD, Findbugs, Cobertura, Emma, Checkstyle...).
- La publication des résultats.
Travaux pratiques
Mise en place des outils de métriques.
Gestion du feedback
- La gestion d'un cycle complet.
- La traçabilité des changements.
Travaux pratiques
Utilisation de Sonar.