Formation Usine Logicielle et Intégration continue

sous-titre

sablier-violet  Durée : 3 jours

Référence : IC 01

Réservez votre session

PARIS

10 Mai 2017

1450 € HT











Objectifs

Connaître l’état de l’art des pratiques de l’Intégration continue
Comprendre et maitriser les principes de l’intégration continue et savoir la mettre en œuvre au sein des projets
Manipuler un gestionnaire de contrôle de version
Comprendre les mécanismes de construction et savoir gérer les dépendances de construction de ses composants
Savoir mettre en œuvre les principaux outils de métriques d’analyse de code

Public

Développeurs, architectes, chefs de projet techniques, intégrateurs, responsables qualité

Pré-requis

Connaissances de base en développement logiciel

Méthodes pédagogiques

40 % théorie / 60% pratique

Modalités d’évaluation

modalites_d_evaluation

Nos intervenants

nos_intervenants

Description

L’intégration continue est un ensemble de pratiques issues du génie logiciel qui participent, au même titre que les méthodes agiles, à l’industrialisation des développements. Elle permet de s’assurer à chaque évolution du code source que l’ensemble des modifications n’introduit pas de régression. Le but est de détecter au plus tôt les éventuels problèmes d’intégration lors du développement et d’en limiter ainsi les coûts de correction. Elle s’inscrit au travers d’un ensemble d’outils constituant l’usine logicielle qui permet dans une démarche d’automatisation des constructions, des déploiements et des suites de tests, de générer des audits de fabrications, des rapports de tests accessibles à tous les membres de l’équipe et d’améliorer ainsi la productivité globale du projet.

A l’issue de cette formation, les participants seront en mesure de mettre en œuvre un environnement d’intégration continue, d’exploiter les fonctionnalités de Jenkins et des différents outils qui constituent l’usine logicielle (Jenkins, Maven, Nexus/Artifactory, SonarQube) et d’automatiser les différentes tâches liées au développement logiciel et au déploiement sur les plates-formes d’intégration.

Programme

Introduction
•    Les principes et apports de l’intégration continue
•    Les prérequis
•    Les différents outils de l’intégration continue
•    Les points de démarrage de la mise en place de processus d’intégration continue

 

Changement, déclenchement et processus d’intégration
•    Détail des différentes étapes d’un processus d’intégration
•    Les types de déclenchement du processus
•    Notion d’ordonnanceur

 

Le gestionnaire de contrôle de version
•    Les pourquoi ?
•    Rappel des bonnes pratiques de branch & merge
•    Les différents gestionnaires de sources
•    Les problématiques d’intégration des changements

 

Automatisation de la construction logicielle
•    Les enjeux
•    Comparaison de l’utilisation des IDE et de l’intérêt d’un moteur d’intégration couplé à un script de construction
•    Comment démarrer son automatisation ?
•    Sensibilisation au temps de construction globale d’une application
•    Validation et traçabilité de la chaîne de construction
•    Focus sur la mise en œuvre avec Maven et Gradle

 

L’automatisation des tests
•    Rappel des pratiques TDD et BDD
•    Penser et tester en termes d’APIs
•    Automatisation des tests unitaires et d’intégration
•    Configuration des rapports
•    Mesurer la couverture de test
•    Les environnements de tests.

 

Construction logicielle

•    Paradigme « Construire 1 fois, Livrer n fois »
•    Mise à disposition des livrables à l’aide d’un dépôt de binaires (stockage et gestion des librairies)
•    Exploration de JFrog Artifactory et Sonatype Nexus
•    Focus sur l’intégration Maven et sa gestion de dépendances
•    Fourniture de scripts d’installation automatique de l’application
•    Savoir aller plus loin : signature des livrables

 

Jenkins
•    Historique & positionnement
•    Panorama des fonctionnalités
•    Les plugins les plus utilisés
•    Les pièges à éviter
•    Les modèles de jobs de construction
•    Mises-en œuvre avec des projets Java et les outils de build Maven et Gradle
•    Version de la configuration des jobs

 

La mise en place des métriques : qualité du code
•    La génération de rapports d’analyse
•    Les outils d’analyse et de reporting (Checkstyle, Findbugs, PMD…).
•    Mise en œuvre avec Maven et Gradle ; et intégration avec Jenkins
•    La publication des résultats et illustration avec SonarQube

 

L’usine Logicielle en entreprise
•    Choix de version « Jenkins LTS »
•    Usine Monolithique vs Usine dédiée
•    Gestion de la sécurité
•    Problématiques de mise à jour