Intégration continue

Intégration continue : Automatiser la production logicielle

  • Filière :

    DevOps & Infrastructure

  • Sous-filière :

    CI/CD

  • Référence

    UL-INT

  • Durée

    3 jours (21 h)

  • Prix unitaire HT

    1 990 € HT

Objectifs pédagogiques

  • Comprendre et maîtriser les principes de l’Intégration Continue
  • Comprendre la notion de build et l’utilité de gestionnaire de contrôle des versions
  • Savoir automatiser la production logicielle
  • Mette en place un serveur d’Intégration Continue
  • Configurer un projet sur un serveur d’intégration continue

Public cible

  • Architectes
  • Chefs de projets
  • Développeurs

Pré-requis

Connaissances de base en développement logiciel

Programme de la formation

Introduction

  • Les méthodes agiles
  • Une histoire de déjà-vu ?
  • L’intégration continue, la solution ?

L’intégration continue

  • Définition, principes
  • Notion de génie logiciel
  • Bonnes pratiques
  • La chaîne de fabrication logicielle
  • L’intégration continue en trois étapes
  • Les freins à l’intégration continue

Réduire les risques grâce à l’intégration continue

  • Risque: Logiciel de faible qualité
    • Scénario: Incapacité à Visualiser Software
    • Scénario: Avez-vous obtenu la note ?
  • Risque: manque de visibilité du projet
    • Scénario: couverture de test
    • Scénario: tests de régression
  • Risque : découverte tardive des bugs
    • Scénario : synchronisation des bases de données
    • Scénario : ça fonctionne sur ma machine
  • Risque : absence du déploiement
    • Scénario: la norme de codage
    • Scénario: le respect de l’architecture
    • Scénario: la duplication du code

Le gestionnaire de contrôle de version

  • Les fonctionnalités
  • Le travail collaboratif
  • Les différents gestionnaires de sources
  • Versionning et migration de base de données (Flyway, Liquibase, etc)
  • Les freins à l’intégration continue

L’automatisation de la construction du logiciel (Build)

  • Comprendre le build (privé, buil d’intégration de jour/nuit)
  • Différents types de builds
  • Automatiser les builds
    • Séparer les scripts de compilation à partir de votre IDE
    • Créer une structure cohérente Directory
    • Construire pour tout environnement
    • Types, mécanismes de constructions et déclenchement des Builds
  • Les outils de Build (Gradle, Maven, Ant…).

Automatiser le déploiement du projet

  • Bonnes pratiques du déploiement
  • Intégration et déploiement continus

 L’automatisation des tests

  • Les différents types de tests (tests unitaires, tests d’intégration, tests d’acceptation, tests de performance )
  • Les environnements de tests
  • Outils de test
  • La mise en oeuvre de l’automatisation des tests

Le serveur d’intégration continue

  • Le rôle du serveur d’intégration continue
  • Les grandes fonctionnalités
  • Les serveurs d’intégration continue (Hudson/Jenkins, CruiseControle, Bamboo…)

La 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

Conclusion

  •  Avantages de l’intégration continue
  • Evolution de l’intégration continue
  • Difficultés de mise en place et interrogation

 

Qualité

Cette formation est accessible aux personnes en situation de handicap, nous contacter en cas de besoin d’informations complémentaires.

Programme mis à jour le