Formation intégration continue avec Git, Maven, Jenkins, Nexus , Sonar

Présentation de la formation ’Intégration continue Objis’

Conçue par Douglas MBIANDOU, cette formation vous permet d’augmentez significativement la productivité de vos équipes de développement : mettez en oeuvre les maillons d’une chaîne d’Intégration continue avec Git (gestion des sources), Maven (build), Nexus (gestion livrables), Jenkins (serveur d’intégration continue) et Sonar (qualité logicielle).

PNG - 156 ko
formation-integration-continue-usine-logicielle-objis-maillons
Tarif (Euros HT) Audience Pratique Financement Contact Inscription
Inter : 2950
Intra : Nous contacter
Développeurs JAVA
70% Opportunités
financement
07 63 03 11 08 Bulletin inscription

Logiciels utilisés

- Brique ’Gestionnaire de source’ : Git 2.14
- Brique ’Construction’ : Maven 3.3.9 + Junit 5 + TestNG 6.8 + Selenium Server 2 + Jacoco 0.9
- Brique ’Gestion des livrables’ : Nexus 3.6
- Brique ’Serveur Integration Continue’ : Jenkins 2.8
- Brique ’Métriques’ : SonarQube 6.5 + Sonar Runner 2.4 + Chekstyle 5.9 + PMD 5.0 + Findbugs 3.0
- Brique ’Gestion Bugs’ : Mantis 1.2.17

Dates 2018

- 19-23 février (Paris)
- 5-9 mars (Abidjan)
- 26-30 mars (Paris)
- 9-13 avril (Dakar)
- 4-8 juin (Paris)
- 11-15 juin (Lyon)
- 25-29 juin (Douala)
- 15-19 oct (Paris)
- 22-26 oct (Lyon)
- 19-23 nov (Casa)

Vous allez apprendre à :

- Maîtriser les 7 phases de mise en oeuvre d’une intégration continue
- Maîtriser les maillons d’une chaîne d’intégration continue
- Automatiser la construction de vos applications
- Tester vos applications en continue
- Mettre en place un tableau de bord de vos intégrations
- Générer des rapports liés à l’activité de développement
- Valider le respect des normes de développement par les développeurs
- Déclencher des alertes et notifications
- Prévenir les bugs et la régression de vos applications
- Automatiser la création de vos livrables
- Comprendre l’acceptance en continue
- Comprendre le déploiement en continue

Programme détaillé

Introduction

- Comprendre la notion de Chaîne d’intégration continue
- les 7 étapes de mise en oeuvre intégration continue
- Role du serveur d’Intégration continue
- La place des tests unitaires / intégration
- L’acceptance en continue
- Le déploiement en continue
- Intégration continue et Agilité
- Robustesse, Maintenabilité

Maven pour de développeur
- définition
- conventions
- Coordonnées
- POM
- Installation
- sections de pom.xml
- Création Projet maven
- plugin, goal, Mojo
- Phases maven
- dépendances
- Repository local, distant
- plugin help
- plugin m2eclipse
- plugin checkstyle
- plugin sonar

Maven pour le chef de projet
- projet multi-modules
- héritage, composition
- génération rapports
- site internet du projet : plugin site
- Gestion de conflits
- Optimisations pom.xml
- dependencyManagement
- pluginManagement
- Repository Manager
- plugin release,
- Snapshot

Gestion sources avec Git

- Décentralisé !
- Créer un dépôt local
- Ajout et versioning de fichiers
- Supprimer, déplacer et renommer des fichiers
- Analyser l’historique des révisions
- Obtenir des informations sur l’état de la copie de travail
- Ignorer des fichiers
- Créer et gérer des branches
- merge : gérer les conflits
- Push, pull, fetch
- Comprendre rebase, reset
- Débugger avec bisect
- Gestions dépots avec GitBlit
- Gestions dépots avec GitLab
- Workflows Git

Automatiser les tests

- Tests unitaires avec JUnit
- Tests unitaires avec Mockito
- Tests unitaires avec TestNG
- Automatiser tests unitaires
- Automatiser tests d’intégration
- Intégration de tests Selenium WebDriver
- Phase de test et ’integation-test’
- ’pre-integation-test’ et ’post-interation-test’’
- Ignorer les tests
- Couverture de code
- Automatiser tests d’acceptance
- Automatiser tests de performance avec Gatling
- Résoudre les problèmes de lenteur des tests
- BDD avec concordion

Qualité du code

- La qualité de code dans le processus de build
- Plugins Maven : javadoc, Checkstyle, JXR, Changelog, FindBugs, PMD,
- Rapport sur la complexité du code : Cobertura, JaCoco
- Rapport sur les taches ouvertes (FIXME, TODO, )
- Installation sonar
- Intégration avec l’outil Sonar
- Intégration avec outil gestion bugs

Nexus

- Définition et valeur ajouté d’un >Repository d’entreprise
- offre du marché
- Installation Nexus
- Role Proxy
- Role pour bande passante
- gestion des livraisons releases / snapshot
- Intégration Maven / Nexus
- balise mirror et server dans settings.xml
- balise distributionManagement dans pom.xml

Jenkins
- Valeur ajoutée d’un serveur IC
- offre du marché
- Préparer l’environnement système
- Installation Jenkins
- Configuration JDK et Maven
- Création premier Job
- Lancement premier Job
- Actions pre-build
- Actions post-build
- Rapport Javadoc
- Rapport couverture de code
- Configurer les rapports de test dans Jenkins
- Afficher les résultats de test dans Jenkins
- Intégration avec Sonar
- Tableau de bord de la configuration Jenkins
- Configuration Variables d’environnement Système
- Configuration Propriétés globales
- Configuration outils de build : Maven, Ant, Shell
- Configuration gestionnaire de source (Subversion, cvs)
- Mémoire necessaire
- répertoire USER_HOME/.jenkins
- Backup données Jenkins
- Upgrade Jenkins
- Lancement de build MAven
- Voir les résultats d’un job

Sonar
- Les 7 axes de Qualité logicielle
- Installation par défaut (base h2)
- Intégration avec MySQL
- Analyse de code via Sonar Runner
- Analyse de code via Maven
- Analyse de code via Ant
- Analyse de code via plugin Eclipse
- Analyse de bugs Potentiels
- Respects des règles de codage
- Analyse résultats de Tests
- Analyse Duplications de code
- Analyse des Commentaires
- Analyse de l’Architecture et design
- Analyse de la Complexité du code
- Paramétrage de règles spécifiques
- Profils de règle