Formation Integration Continue
Great Place to Work
Icones réseaux sociaux de Zenika Contacter Zenika Accéder au facebook Zenika Accéder au blog Zenika Accéder au twitter ZenikaIT Zenika Blog
chargement...

Formation Continuous Integration

Industrialisation du développement

Durée : 2 jour(s)
Référence : IC-02

  • Télécharger
  • Offert en inter-entreprise

Petit déjeuner


Déjeuner


Qualification téléphonique



  • Lieu Date de début Prix (HT) Réserver
    Lille 03 octobre 2016  1590 € drapeau  Christophe Furmaniak Envoyer
    Rennes 13 octobre 2016  1590 € drapeau  Mathieu Pousse Envoyer
    Paris 12 décembre 2016  1590 € drapeau  Fabien Sacksteder Envoyer

    La prochaine session est animée par

    photo

    Consultant Architecture et DevOps chez Zenika depuis novembre 2015, Christophe Furmaniak est avant tout un programmeur passionné avec une sensibilité particulière pour le cycle de build des projets, du poste de travail du développeur au déploiement sur les environnements de production.

    Présentation

    L'intégration continue est un principe majeur d'industrialisation des développements. Il permet de contrôler le code et de le tester de manière automatique tout en fournissant un système d'alertes en cas de problèmes.

    Objectifs

    • Comprendre les fondamentaux et les enjeux de la mise en place de l'intégration au sein de ses projets afin d'améliorer la communication et la collaboration entre les différentes équipes
    • Savoir gérer les dépendances de construction de ses composants
    • Comprendre et résoudre les enjeux de traçabilité des objets construits
    • Connaître les principes et les bonnes pratiques dans la mise en place d'outils de métriques
    • Maîtriser l'utilisation et la mise en place du serveur d'intégration continue Jenkins

    Pédagogie : 

    50% Théorie, 50% Pratique

    Public : 

    Architecte, Leader Technique, Développeur, Chef de projet, Responsable qualité

    Pré-requis : 

    Connaissance de base en développement logiciel

    Programme

    Comprendre les enjeux de l'intégration continue

    • Première approche et notion de processus d'intégration
    • Les apports de l'intégration continue et les risques réduits dans les équipes de développement
    • De quoi a t-on réellement besoin pour commencer une démarche d'intégration continue?

    Changement, déclenchement et processus d'intégration

    • Notion d’événement
    • Détail des différentes étapes d'un processus d'intégration
    • Les types de déclenchement du processus

    Automatisation de la construction

    • 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
    • Problématique de la reproductibilité

    La gestion des composants de son application

    • Problématique du découpage en composants de son application
    • Présentation des outils de gestion de dépendances
    • Les stratégies de l'enchainement de la construction des composants

    Communication avec un gestionnaire de sources

    • Les différents types de stratégie en fonction de l'outil SCM
    • Politique de branches par version vs politique de branches par fonctionnalité
    • Problématique de traçabilité
    • Exemple de mise en oeuvre avec le triplet Maven, Hudson/Jenkins et SVN
    • Exemple de mise en oeuvre avec le triplet Maven, Hudson/Jenkins et GIT
    • Etude du cas particulier : le mécanisme de livraison (release) de Maven

    Introduction au serveur d'intégration continue Jenkins

    • Historique et positionnement vis à vis de la concurrence
    • Panorama des fonctionnalités
    • Les plugins les plus utilisés
    • Installation, configuration et les pièges à éviter
    • Première mise en oeuvre avec un projet Maven

    Gestion des livrables

    • Stratégie de mise à disposition du résultat construit
    • Notion de dépôt d'artefacts
    • Spectre des principaux outils de gestion de dépôt d'artefacts: Nexus, Artifactory et Archiva
    • Problématique de traçabilité du résultat et des informations de build

    Les tests dans le processus de construction

    • Intérêts de l'automatisation des tests
    • Concepts de « l'extreme Programming »
    • Principes des « TestDriven Development »
    • Présentations des familles de tests
    • Tests unitaires, tests d'intégrations et tests fonctionnels
    • Exemple de test d'une application Web avec Selenium

    Qualité de code et traitement des résultats

    • Apports de la mise en place d'outils de métriques
    • Les principaux outils de métriques Java: de la génération de la documentation à la couverture de code en passant par la détection de bugs
    • Exemple du site Maven
    • Installation et configuration de Sonar
    • Mise en oeuvre d'une qualimétrie avec Sonar pour un projet Maven et un projet Ant/Ivy
    • Publication des résultats dans le serveur Hudson/Jenkins à travers ses plugins
    • Les bonnes pratiques d’utilisation

    Communication

    • Indicateurs de visibilité du résultat construit
    • Statut, Santé et tendance
    • Savoir réagir
    • Communication avec des outils externes
    • Notification par email et flux RSS