0% ont trouvé ce document utile (0 vote)
103 vues31 pages

S1-Introduction Devops

Transféré par

Rihab IDOUDI
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
103 vues31 pages

S1-Introduction Devops

Transféré par

Rihab IDOUDI
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd

Introduction Devops

Plan du cours

 Projets Informatiques (Cascade ou Cycle en V) sans DevOps


 Projets Informatiques Agile avec DevOps
 Définitions : DevOps, Intégration Continue, Déploiement /
 Livraison Continu

 Présentation des Outils de Développement : JDK, STS, Spring Boot,


MySQL, Log4J, Junit, Maven

 Présentation de l’Environnement DevOps : Maven, JUnit, Git, Sonar,


Nexus, Jenkins, Docker
Projets en Cascade

 Phases Séquentielles

 Les risques sont détectés tardivement

 Des documents très détaillés en amont


Projets en Cycle en V
Projets en Cycle en V
 Le «cycle en V» est une amélioration du cycle en cascade, mais
présente pratiquement les mêmes inconvénients.

 Absence de Visibilité
 Désintérêt des Sponsors et des Parties Prenantes
 Résultat Binaire
– Conforme : Oui/Non
– À l’heure : Oui/Non
Projets en mode Agile

 • Les méthodes Agiles (Scrum, XP, ...) vont nous permettre de résoudre les
problèmes ci-dessus.

 • Les méthodes agiles sont des groupes de pratiques de pilotage et de réalisation de


projets, qui suivent les 4 valeurs fondamentales de l’agilité
([Link] ).

 • Il s’agit de travailler en mode itératif (Sprint). Chaque Sprint peut être considéré
comme un projet en Cycle en V.

 • Les méthodes agiles permettent d’augmenter la satisfaction du client, faciliter la


gestion de projet, la qualité de développement et mieux s’adapter aux imprévus du
projet.
Environnements
Apport du DevOps

 Les méthodes Agiles résolvent énormément de problèmes (voir ci-


dessus). Mais ...

 Comment faire travailler étroitement les équipes de production avec


les équipes de développement?
 Comment automatiser au maximum les différentes phases du Projet?
 Comment pouvoir livrer régulièrement et fréquemment?
Définition DevOps

 Le nom « DevOps » vient de la contraction du mot « development » (développement) et


«operation » (exploitation).

 DevOps, c’est un mouvement, c’est une culture qui vise à améliorer la communication
entre les études (développeurs) et l’exploitation afin de réduire le temps de mise sur le
marché d’un produit.

 C’est aussi un ensemble de bonnes pratiques :


– Automatisation des différentes phases du projet (Test, deploiement, monitoring…),
– Réduction du Time To Market (TTM),

 Ces bonnes pratiques sont destinées à répondre au besoin croissant d’industrialisation et


de normalisation du système d’information.
Devops

 Création d’un pipeline automatisé entre les deux équipes appelées CI/CD
(Continuous Integration/ Continious Delivery (ou Deployement)
Cycle de Vie Projet DevOps
Définition Intégration Continue

 L’Intégration Continue ou Continuous Integration est un processus


orienté études consistant à compiler, tester et déployer sur un
environnement d’intégration.

 Le but est de tester aussi souvent et autant que possible les non-
régressions du livrable pour détecter les bugs plus tôt possible.

 La plupart du travail est réalisé par des outils de test. Le déploiement


sur la plateforme d’intégration devient simple et peut être réalisé par
les études sans faire intervenir l’exploitation.
Définition Livraison Continue /
Déploiement Continu
 La Livraison Continue ou Continuous Delivery est un processus orienté
production consistant à déployer automatiquement sur un environnement
donné (UAT, Qualification, Pré-Préproduction), à l'exception de la Production
où la livraison reste manuelle.

 Le Déploiement Continu ou Continuous Deploiment est un processus orienté


production consistant à déployer automatiquement sur tous les
environnements y compris sur l’environnement de production.
Outils DevOps

 Lien important qui montre les outils les plus utilisés en DevOps,
suivant les technologies utilisées :
[Link]

 Il suffit de choisir la technologie : Java, Python, .NET ... pour avoir les
outils DevOps les plus utilisés pour ces technologies.
Quelques Outils de DevOps

 Dans ce cours, nous allons nous intéresser à :


• Maven
• JUnit
• Git
• Sonar
• Nexus
• Jenkins
• Docker
• ...

 Ces outils seront appliqués à un projet Spring Boot déjà existant,que nous allons
enrichir.
Outils : Maven

 Maven est un outil de construction de projets (build) open source développé


par la fondation Apache.

 Il permet de faciliter et d'automatiser certaines tâches de la gestion d'un projet


JavaEE (création de projets, compilation, test, packaging, ...).
Outils : JUnit

 JUnit est un framework de test unitaire pour le langage de


programmation Java.
 Il permet de tester le bon fonctionnement de l’ensemble des
méthodes définies dans les classes du projet.
Outils : Git

 Git est un logiciel de gestion de versions et de travail collaboratif


 Il permet de stocker le code sur une serveur,
 Il permet à chaque développer de commiter son code (git push),
 Il permet aux développeurs de récupérer le code fait par leurs
collègues (git pull)
Outils : Sonar

 • SonarQube (précédemment Sonar2) est un logiciel libre permettant


de mesurer la qualité du code source en continu.
Outils : Nexus

 • Nexus est un gestionnaires de dépendances. Il nous permet d’avoir


un dépôt des dépendances créées par nos collègues, que nous
pouvons donc utiliser juste en écrivant la dépendance, sans avoir à
copier le jar (la dépendance) dans notre projet.
Outils : Jenkins
 Jenkins est un outil open source d'intégration continue, fork de l'outil Hudson
après les différends entre son auteur, Kohsuke Kawaguchi, et Oracle.

 Il s'interface avec des systèmes de gestion de versions tels que CVS, Git et
Subversion, et manipule le code source.

 Il utilise Maven ou Ant, pour compiler, packager, exécuter et tester le code source
d’une façon régulière. et il envoie un rapport d’erreur par mail.
Outils : Docker

 • Docker est un outil qui peut packager une application et ses


dépendances dans un conteneur isolé, qui pourra être exécuté sur
n'importe quel serveur.
Outils de Développement

 Les outils suivant vont nous permettre de développer une applications basée sur Spring
Boot. Nous appliquerons l’Intégration Continue sur le code de cette application.
 Avant de faire l’installation, vérifiez que vous n’avez pas ces outils déjà installés. Si c’est la
cas, pas besoin de les réinstaller (vous pouvez utiliser d’autres versions) :
 JDK 8 - version [Link] - (1.8 -peu importe la version mineure- déjà installé sur vos
machine normalement)
 STS (dernière version)
 WAMP 3.1 ou XAMP (déjà installé sur vos machine normalement), pour avoir
 MySQL 5.6.17
 Par souci d’homogénéité, vous pouvez créer un dossier C:\Products, dans lequel, vous allez
installer tous les outils que nous allons utiliser par la suite.
 Les exécutables sont sur le Drive (dossier Outils) : Support de Cours DevOps
Installation JDK 8

 Installer la JDK dans C:\Products\java\jdk-[Link]


 Installer la JRE dans C:\Products\java\jre-[Link]
 La JRE est installée en même temps que la JDK.
 Créer la variable d’environnement système : JAVA_HOME qui contient
le chemin de la JDK:
Installation JDK 8

 Ajouter %JAVA_HOME%\bin au Path :


Installation JDK 8
 Vérifier que Java est bien installé et que la variable d’environnement
est bien positionnée (javac et java) :
Installation STS (Spring Tool Suite)

 Il suffit d’exécuter le fichier du drive (STS version 4.13)


 Si vous n’avez pas le fichier vous pouvez le télécharger la dernière
version de STS : [Link]
Configuration IDE STS
Ouvrir STS, choisissez le workspace, par exemple workspace-sts :

• Et cliquer sur WorkBench.


Configuration IDE STS
 Faire pointer STS sur JDK 8 :
 Ouvrir window -> preferences -> installed jre -> mettre que la jdk
8(pas la jre). Voir slides suivants
 Supprimer la ligne correspondant à la JRE
 Créer une standard VM en pointant sur la JDK :
Configuration IDE STS

 Important : Pointer votre Execution Environment vers la JDK.


Prochain Cours

 Finaliser l’Installation de l’Environnement de travail (JDK, STS,,


MySQL)

 Comprendre Maven (en standalone)

 Créer votre premier projet Spring Boot (sur lequel, nous appliquerons
la chaine DevOps)

Vous aimerez peut-être aussi