Informations pratiques

  • 20 rue des Frigos, 75013
    Voir le plan
  • 3 jours
  • 1 650€
Prochaines sessions :
Nombre de participants maximum : 10

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

Un questionnaire d’évaluation à chaud sera adressé aux participants à la fin de la formation. Cette évaluation mesure le niveau 1 de Kirkpatrick.

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.

À 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
  • Workshop: Github - Source Code, Branches, PR

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
  • Workshop : Github - Actions Build
    • exemple dotnet build (local vs agent)

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
  • Workshop : Github - Unit Tests + Code Coverage

Livraison continue

  • 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)
  • Fourniture de scripts d’installation automatique de l’application
  • Savoir aller plus loin : signature des livrables
  • Workshop : Github - Artifacts / Release

Github Actions (pourrait être remplacé par Azure DevOps, Jenkins ou tout autre outil selon les besoins clients)

  • Historique & positionnement
  • Panorama des fonctionnalités
  • Les plugins/actions les plus utilisés
  • Les pièges à éviter
  • Les modèles de jobs de construction
  • Mise en œuvre avec des projets multi-technos
  • Workshop : Github Actions, Construire un projet multi-technos
  • Bonus Workshop : Github Actions, Créer une action custom

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
  • La publication des résultats et illustration avec SonarCloud
  • Workshop : SonarCloud + Github Actions

L’usine Logicielle en entreprise

  • Bien choisir son usine logicielle
  • Usine Monolithique vs Usine dédiée
  • Agents : Agent Pools, Self-Hosted Agents vs Cloud Agents
  • Gestion de la sécurité
  • Problématiques de mise à jour
  • Exemples (TFS, Jenkins, TeamCity) vs (Azure DevOps, Github, Github Enterprise)

Mis à jour :

Réservez une place

Vous avez des questions ?

Contactez-nous pour réserver votre formation, ou poser vos questions sur nos formations :

  • 01 44 75 42 55
  • training@soat.fr
  • SOAT TRAINING - 87-89 quai de Panhard et Levassor- 75013 Paris

Cas clients liés

Découvrez la diversité des missions réalisées par nos équipes au travers d’études de cas concrètes et détaillées.

Orano
Orano
DevOps
Nexity
Nexity
DevOps
APRR
APRR
DevOps

Formations liées

SOAT Training est labellisé OPQF et certifié Datadock. Nos formations combinent de nombreuses approches.

intermédiaire
Formation Xamarin | Développer application mobile
Technologies
Mobile
débutant
Formation Spring | Développer applications Java
Technologies
Java
Depuis plus de 15 ans, nous développons une expertise pointue et complète sur les technologies Java. Nos formateurs suivent de près les évolutions de cet écosystème. En fin pédagogues, ils vous transmettront leurs connaissances au travers des formations qu’ils animent
débutant
Formation Microservices | Architectures techniques
Craft & architecture
Architecture
Technologies
Java