Devops

Open Source, mise en œuvre de l’Usine Logicielle

Objectifs pédagogiques

  • Connaître les différentes étapes du cycle de vie logiciel
  • Construire et déployer une infrastructure développement
  • Mettre en place les outils de construction et les tests d'intégration
  • S'approprier les bonnes pratiques des process d'intégration continue
  • Appréhender les méthodes de travail collaboratif et communautaire, ainsi que les principaux outils dédiés
  • Savoir évaluer les risques et assurer les liens avec les utilisateurs finaux

Programme de la formation

Les fondamentaux

  • Les étapes du cycle de vie du logiciel (Conception, développement, recettage, mise en production).
  • Le modèle de développement logiciels : modèle en V, modèle incrémental et itératif.
  • Usine logicielle, intégration continue.
  • Les différents types d'environnements (développement, recette, production).
  • L'usine au quotidien. Les principaux outils utilisés.

Gestion des versions

  • Les fonctionnalités.
  • Les différents gestionnaires de sources : centralisé ou distribué.
  • Les problématiques d'intégration des changements.
  • Le rôle des branches et tags.

Travaux pratiques

Manipulation d'un dépôt GIT.

Mise en place et automatisation du build

  • Mise en place d'un serveur de build, les différents outils et types d'installation.
  • Configuration : page principale de la configuration, configuration de GIT/SVN, serveur de mail.
  • Jenkins et le build, les meilleures pratiques et méthodes recommandées.
  • Stratégies et techniques de notification.
  • Fixer les dépendances entre les travaux de build.
  • Jenkins et Maven : rappel sur Maven, configuration du build Maven, déploiement dans un repository Maven.

Travaux pratiques

Création et configuration d'un Projet Maven Jenkins basé sur un référentiel (repository) GIT.

Automatisation des tests

  • Quels tests et pour faire quoi ?
  • Les environnements de tests.
  • Automatisation des tests unitaires et d'intégration. Les librairies PHPUnit, JUnit, ...
  • Configuration des rapports.
  • Mesurer la couverture de test.
  • Automatisation des tests d'acceptation.
  • Automatisation des tests de performance avec JMeter.
  • Optimiser les temps d'exécution des tests.

Travaux pratiques

Adaptation du projet Jenkins pour inclure JUnit et suivi des tests de performance avec JMeter.

Les tests de validation

  • Les besoins en test de validation.
  • Les référentiels de test et leur mise en œuvre.
  • Les générateurs de données de test.
  • Les fonctionnalités des robots de test.
  • Les robots de test d'IHM.
  • Les robots de test d'applications Web.

Travaux pratiques

Mise en œuvre d'un référentiel de test, d'un générateur de données de test, de robots de test d'IHM, de robots de test d'applications Web.

Automatisation du déploiement

  • Mise en place du script de déploiement.
  • Mise à jour des bases de données.
  • Tests minimaux. Retour en arrière.

Travaux pratiques

Adaptation du projet Jenkins pour automatiser le déploiement.

Les métriques

  • La génération de rapports.
  • Les outils d'analyse et de reporting (PMD, Findbugs, Cobertura, Emma, Checkstyle, Jira Software...).
  • La publication des résultats.

Travaux pratiques

Mise en place des outils de métriques.

Qualité

  • Réduire les risques grâce à l'intégration continue.
  • Appréhendez le travail collaboratif dans une équipe. La contribution des utilisateurs aux outils.
  • Travailler avec les utilisateurs finaux.
  • Interaction avec les outils de gestion des anomalies, Bugzilla, Mantis, Bug Tracking...
  • Gérer un projet de migration à l'Open Source : étude des outils du marché, risque, avantage.

Travaux pratiques

Utilisation d'outils de gestion des anomalies.

Please login to get access to the quiz
DevOps – Test Engineering (DTE) (Prev Lesson)
(Next Lesson) DevOps, DevSecOps, DataOps, AIOps, FinOps… comment s’y retrouver, à quoi cela sert-il ?
Back to Devops