Formation Devops
DATAILOR fournit des formations Devops à Lyon, Paris. Nos équipes forment les DSI des plus grands groupes (SNCF, ORANGE, BNP PARIBAS etc.) et de grandes organisations comme le Ministère des Finances. Dans le cadre d’un déploiement de Kubernetes chez un client, DATAILOR forme également les équipes internes dans la maitrise de l’outil.
Les processus de développement informatique des entreprise est en accélération croissante et permanente. Cette évolution amène au décloisonnement des équipes de développement (Dev) de celles d’exploitation (Ops). Ce courant, cette culture, cette méthode s’appelle le « Devops ».
Accompagner les entreprises dans leur transformation digitale en 2019, c’est apporter les outils, les méthodes et faire évoluer l’organisation vers une culture DEVOPS. La formation Devops de Datailor permet de comprendre et utiliser cet outil devops.
- Manipulations de base en ligne de commande
- Notions élémentaires d’architecture matérielle et des systèmes d’exploitation (cpu, mémoire, kernel, processus, threads, systèmes de fichier)
- Bonne connaissance du xml
- Bonne connaissance d’un outil de gestion de version autre que Git
- Notions de programmation, quel que soit le langage
- Découvrir les concepts clés du DevOps et ses enjeux ;
- Acquérir la maîtrise de Git
- Comprendre et pratiquer les outils de développement :
- Gitlab ;
- Jenkins ;
- Nexus
- Savoir assurer un suivi qualité au travers des outils de développement ;
- Introduction, objectifs et tour d’horizon des problématiques abordées
- Les acteurs d’une grande entreprise et leurs enjeux respectifs
- L’inadéquation des objectifs, source de douleurs
- La culture DevOps : aligner les objectifs, fluidifier la communication
- La « feedback loop », ou comment créer l’agilité à l’échelle globale
- Les piliers du DevOps et les outils associés
- Le Cloud et les architectures distribuées
- L’intégration continue
- Le déploiement continue
- Stratégies de tests adaptées au monde agile
- La surveillance généralisée
- Infrastructures élastiques et définies par le code
- Docker et son écosystème
- Introduction, bref historique et écosystème de git
- Système de gestion de version, différence centralisé/distribué
- Modèle de stockage et de représentation des données
- Comparaison avec un système existant (svn)
- Les « zones » de git (working, staging, local, remote)
- Format des commandes
- Commandes porcelaine / plomberie
- Auto-complétion
- Configuration de base
- Initialiser un dépôt
- Comprendre le contenu du répertoire. git
- Ajouter des fichiers à la zone staging
- Finaliser des changements
- Modifier des changements
- Mettre des changements de côté
- Suivre l’état du dépôt local et consulter l’historique des changements
- Ajouter et modifier des tags
- Revenir en arrière avec revert ou reset
- Principe de fonctionnement des branches
- Créer une branche et changer de branche active
- Supprimer, renommer une branche
- Fusionner du contenu, principe de la fusion
- Différences entre merge et rebase
- Cherry-picking
- La gestion des conflits
- Les stratégies de résolution de conflits
- Travailler avec un dépôt distant
- Commandes de synchronisation avec les dépôts distants
- Travailler avec plusieurs dépôts distants
- Fichiers git attributes et git ignore
- Flux de travail avec git, les différentes possibilités
- Flux de travail Gitflow
Concepts avancés
- Signer ses changements
- Le reflogs
- Travailler avec des patchs
- Rebase interactif
- Trouver la source d’un bug avec blame et bisect
- Enregistrer les résolutions de conflit manuelles avec rerere
- Sous-modules et working trees
- Extensions de fonctionnalités avec les alias et les hooks
- Cohabitation et migration svn
Mise en pratique
- Les enjeux de l’intégration continue
- La gestion des builds
- Création et lancement premier Job
- La gestion des actions
- Actions pre-build
- Actions post-build
- La gestion des rapports
- Création et lancement premier Job
- Rapport Javadoc
- Rapport couverture de code
- Configurer les rapports de test dans Jenkins
- Afficher les résultats de test dans Jenkins
- La gestion des pipelines
- Intégration avec Sonar
- Tableau de bord de la configuration Jenkins
- Configuration Variables d’environnement Système
- Configuration Propriétés globales
- Configuration outils de build : Maven, Ant, Shell
- Configuration gestionnaire de source (git)
- Lancement de build Maven
- Voir les résultats d’un job
- Mise en pratique
- Définition et valeur ajoutée d’un >Repository d’entreprise
- Divers types de package pris en charge
- Rôle Proxy
- Rôle pour bande passante
- Gestion des livraisons releases / snapshot
- Intégration Maven / Nexus
- Balise mirror et server dans settings.xml
- Balise distribution Management dans pom.xml
Mise en pratique de Docker et travail en groupe des stagiaires sur un projet avec pour objectif de dérouler les scénarii complets des outils présentés :
- Démarrage d’un projet git
- Collaboration sur le projet
- Développement de fonctionnalités avec Gitflow
- Intégration continue des branches individuelles et globales
- Suivi de la qualité dans Jenkins
- Création d’une image docker
- Déploiement des artifact
- Revue de code suite à tests automatisés échoués
- Revue de code pre-merge