fbpx

Continuous Integration

 Objectifs

À la fin de la formation Continuous integration and build tools, vous serez capable de valider les objectifs d’apprentissages suivants :
➤ Comprendre l’intégration continue (CI) en tant que processus.
➤Acquérir une meilleure compréhension des avantages de l’intégration continue.
➤Savoir utiliser un système de contrôle des versions (VCS).
➤Comprendre les étapes et processus de la construction de logiciel et les outils de Build correspondants.
➤Réaliser la configuration d’un projet sur un serveur d’intégration continue.
➤Savoir traduire les principales métriques en outils d’analyse de votre code.
➤ Comprendre le rôle des dépôts d’artefacts et gérer les configurations.
➤ Être sensibilisé et sensibiliser à la façon de faire fonctionner.
l’intégration continue au sein des équipes.

 Prérequis

Connaissances de base en développement logiciel.

Programme

mon programme

1. Introduction.

➤Différencier les environnements de développement, de recette et de production.
➤Gérer les configurations système et applicative.
➤Le conteneur applicatif Docker, un mot sur les autres.
➤Centraliser les configurations avec Puppet ou Ansibl.
➤Industrialiser les déploiements.
➤Mise en place d’une plateforme d’intégration continue.

2.Aperçu de l’Intégration Continue.

➤Qu’est-ce que l’intégration continue ?
➤Qu’est-ce qu’un build ?
➤Principes clés de l’Intégration Continue.
➤Terminologie.
➤Pourquoi adopter un processus CI ?
➤Avantages de l’intégration continue.
➤Réduire les risques dans le développement de logiciels.

3.Gérer les versions.

➤Les fonctionnalités.
➤Source centralisée ou distribuée ?
➤Les différents gestionnaires de sources.
➤Problèmes soulevés par l’intégration des changements.
➤Rôle des branches et des tags.
➤Travaux pratiques : manipuler un dépôt Git.

4.Le processus CI et notion de build.

➤La construction de logiciels.
➤Notion de build et procédure générale de travail.
➤Neuf pratiques clés.
➤Réaliser des commits fréquents de son code.
➤Ne pas réaliser de commits sur du code non-fonctionnel.
➤Exécuter des builds privés d’abord.
➤Réparer immédiatement les builds cassés.
➤Éviter de casser les builds.
➤Écrire des tests de développement automatisés.
➤Tous les tests doivent être réussis.
➤Automatiser autant que possible.
➤Propriété partagée.
➤Les outils de Build : exemple avec Maven.
➤Plug-ins, profils, modules.
➤Exercice pratique : mettre en place la construction d’un projet simple avec Maven.

5.Gérer les dépôts.

➤Les gestionnaires de dépôts et types : public, interne.
➤Gérer les livrables : releases, snapshots, déploiement et organiser les dépôts selon les environnements.
➤Intégration des gestionnaires des dépôts, outils de Build et outils de gestion des tâches.
➤Tour d’horizon des solutions existantes.
➤Focus sur Nexus et Artifactory.
➤Exercice pratique : publier des artefacts dans Nexus.

6.L’Intégration Continue et les tests.

➤Que devez-vous tester ?
➤Types de tests.
➤Quels sont les outils à utiliser ?
➤Tests à l’aide de mocks / stubs.
➤Outils Mock Object (JMock/Easy Mock etc.).
➤Relation entre CI et le Test Driven Development (TDD).
➤Relation entre CI et Behaviour Driven Development (BDD).
➤Mise en œuvre de l’automatisation des tests.
➤Exercice pratique : mettre en place des tests automatisés avec JUnit.

7.Serveur d’intégration continue.

➤Rôle et fonctionnalités du serveur d’intégration continue.
➤La gestion des tâches (jobs) et dépendance.
➤Exemples de serveurs : Hudson/Jenkins, CruiseControle, etc.
➤Exercice pratique : configurer un projet sur un serveur d’intégration.
➤continue Jenkins.

8.Métriques et feedback.

➤Générer des rapports.
➤Outils pour l’analyse et le reporting (PMD, Findbugs, Cobertura, Emma, Checkstyle…).
➤Publication des résultats.
➤Exercice pratique : mettre en place des outils de métriques.
➤Gérer le feedback.
➤Gérer un cycle complet.
➤Traçabilité des changements.
➤Exercice pratique : utiliser Sonar.

9.Adopter l’Intégration Continue.

➤Qu’est-ce qui empêche les équipes d’utiliser l’Intégration Continue ?
➤Mon projet est trop important / J’ai une application existante / Elle est trop complexe, etc.
➤Comment réaliser le projet ?

 
×

Bienvenue sur notre site !

Cliquez sur l'un de vos contacts ci-dessous pour discuter sur WhatsApp

×