DEVOPS - Automatiser ses infrastructures avec Ansible, Git et GitLab CI/CD
Version du programme : 1
Type de formation
MixteDurée de formation
35 heures (5 jours)Accessibilité
OuiDEVOPS - Automatiser ses infrastructures avec Ansible, Git et GitLab CI/CD
Cette formation permet d’acquérir les fondamentaux de la culture DevOps et de mettre en œuvre une démarche d’automatisation des infrastructures reposant sur Ansible, Git et GitLab CI/CD. Les participants découvrent les principes de l’Infrastructure as Code, de la gestion de configuration, du versionnement et de l’intégration et livraison continues. Ils apprennent à utiliser Git pour versionner leurs configurations, à automatiser l’administration de plusieurs machines avec Ansible, à structurer des playbooks réutilisables et à intégrer leurs automatisations dans des pipelines GitLab CI/CD. La formation repose sur de nombreux travaux pratiques et sur un projet fil rouge permettant de construire progressivement une chaîne d’automatisation reproductible, maintenable et adaptée à un contexte professionnel.
Objectifs de la formation
- Expliquer les principes fondamentaux d’une démarche DevOps et de l’Infrastructure as Code
- Utiliser la syntaxe YAML nécessaire à la création de fichiers d’automatisation
- Utiliser Git pour versionner, partager et faire évoluer un projet d’automatisation
- Concevoir des playbooks idempotents permettant d’automatiser des tâches d’administration
- Structurer un projet Ansible à l’aide de rôles et de collections
- Construire un pipeline GitLab CI/CD composé de plusieurs jobs et stages
- Intégrer l’exécution d’Ansible dans un pipeline GitLab CI/CD
- Appliquer les principales bonnes pratiques de versionnement, d’automatisation, de sécurité et de maintenabilité
Profil des bénéficiaires
- Administrateurs systèmes
- Développeurs
- Architectes techniques
- Ingénieurs DevOps et Cloud
- Toute personne souhaitant automatiser l’administration, la configuration ou le déploiement d’infrastructures et d’applications
- Disposer de connaissances de base en administration Linux
- Être à l’aise avec l’utilisation de la ligne de commande
- Savoir manipuler des fichiers et répertoires sous Linux
- Comprendre les principes élémentaires des réseaux et des connexions SSH
- Des notions de scripting constituent un atout mais ne sont pas obligatoires
- Aucune maîtrise préalable d’Ansible, Git ou GitLab CI/CD n’est nécessaire
Contenu de la formation
Intro
- Tour de table : présentations
- Rappel des objectifs
Le Yaml
- Les bases
- Les types de données
- Format des chaines de caractères
- Les listes
- Les références
Ansible - Les bases
- Introduction
- Démarrer avec ansible
- Installation d’ansible
- Création de notre premier inventaire
- Les premières commandes ansible
Ansible - Notre infrastructure de test
- Vagrant et ansible
- Installation de vagrant
- Le premier playbook
- Ménage
Ansible - Les commandes de bases
- Diriger nos serveurs
- Déployer notre infrastructure avec vagrant
- Le fichier d’inventaire pour plusieurs serveurs
- Nos première commandes simple
- Configurer un group de serveur
- Gestion des utilisateurs et des groupes
- Gestion des logiciels
- Gestion des fichiers et répertoires
- Lancer des taches en arrière-plan
- Gérer les fichiers de logs
- Les taches planifiées (cron)
- Déployer une application en contrôlant la version
- Ansible et ssh
Ansible - Les playbooks
- La commande ansible-playbook
- Déploiement d’un serveur rocky avec modems
- Déploiement d’un serveur ubuntu avec un server lamp et Drupal
- Déploiement d’un serveur ubuntu avec solr
Ansible - Les playbooks usages avancés
- Les handlers
- Les variables
- Les facts
- Ansible Vault
- L’ordre de prise en compte des variables
- Les conditions if/then/when
- La délégation, les actions locales et les pauses
- Le prompt
- Les tags
- Les blocks
Ansible - Organisation des playbooks, rôles, includes et imports
- Rôle et leur création
- Mise en place de role cross platform
- Ansible galaxy
- Un serveur lamp en 9 lignes de code
- Un serveur solr en 7 lignes de code
Ansible - Les plugins et collection de contenu
- Création d’un plugin
- Les collections de contenu ansible
- L’anatomie d’une collection
Ansible - Les inventaires
- Les variables d’inventaire
- Infrastructure éphémère ou l’inventaire dynamique
- L’inventaire à la volé add-host et group)by
- Avoir plusieurs sources d’inventaire
- Création d’un inventaire dynamique
Ansible - Les livres de recette d’ansible (cookbooks)
- Construction d’une infra HA avec ansible
- Elk avec ansible
- GlusterFS avec ansible
Ansible - Déploiement avec Ansible
- Les stratégies de déploiement
- Un déploiement simple sur un seul serveur
- Déployer plusieurs serveurs sans downtime
- Le déploiement blue-green
La philosophie DevOps
- Les chalenges de l’it
- Le mur de la confusion
- La culture du silo
- Qu’est ce que le devops
- Qu’est ce que n’est pas le devops
- Les buts du devops
- Les valeurs: calms
- Les intervenants
La philosophie DevOps - Principes
- Les principes: les 3 chemins
- Le flow
- La théorie des contraintes
- Le feedback
- L’expérimentation continue
La philosophie DevOps - Pratique
- Intégration continue
- Livraison continue
- Les étapes d’un pipeline de déploiement
- Les plateformes CI/CD
- La livraison continue et les tests
- L’automatisation
- Les termes à connaitre
La philosophie DevOps - La chaine d’outils
- Le pipeline de déploiement
- Construction petit à petit
Les autres pratiques
- Rugged devops
- DevSecOps
- chatOps
- Kanban
La philosophie DevOps - Bien démarrer
- Comment transformer l’organisation
- Commencer au commencement
- Apprendre en faisant
- Consolider les gains
- Ancrer les résultats
Gitlab scm - Git
- Signification
- Utilité
L’outil git o o o o
- Fonctionnement
- Installation
- Configuration
- Utilisation de votre terminal
Git - Utilisation basique de git
- Initialisation d’un projet
- Ajout de fichiers
- Le premier commit
- Le premier push
- Vérifier l’état des fichiers
Git - Usage avancé de git
- L’historique
- Ignorer des fichiers
- Travailler avec des dépôts distants
- Étiquetage
- Alias de git
Git - Les branches
- Les branches en bref
- Branches et fusion les bases
- Gestion des branches
- Les branches à distance
- Rebaser
Git - Usage avancé de git 2
- Le voyage dans le temps
- Corriger un commit
- Corriger le message du dernier commit
- Commit sur master au lieu d’une branche
- Commit dans la mauvaise branche
- Annuler une modification
- Tout est perdu… j’abandonne
Git - Intégration avec vscode
- L’extension gitlab workflow
- Cloner un dépôt
- Paramètres de git
- Création d’une branche
- Commit
- Push fetch et pull
- Travailler avec plusieurs dépôts
- Les conflits de fusion
Gitlab
- Création de projets
- Création des groupes
- Les branches
- Tag, merge et release
- Pipelines: - Que sont ils? - Création d’un pipeline - Démarrer un pipeline - Planification
- La documentation d’un projet
- La vie d’un projet
Gitlab CI - Le premier pipeline
- Les stages
- Les jobs
- Les variables
- Les images
Gitlab CI - Mon second pipeline
- Ajout de stage personnalisés
- Règle d’exécution des jobs
- Gestion des artefacts
- Le workflow
- Beurre_script et after_script
- Templates
Ansible Tower et awx
- Installation d’ansible AWX
- Utilisation d’AWX
- Suppression d’AWX
- Les alternatives
Équipe pédagogique
Suivi de l'exécution et évaluation des résultats
- Questionnaire de positionnement et/ou entretien de cadrage en amont ou au démarrage de la formation
- Feuilles d'émargement
- Quiz ou QCM de validation des connaissances lorsque pertinent
- Etude de cas, exposés théoriques, mises en situation
- Exercices de diagnostic et de résolution de problèmes
- Évaluation finale à travers la réalisation d’une chaîne d’automatisation intégrant Git, Ansible et GitLab CI/CD
- Questionnaire de satisfaction à chaud
- Certificat de réalisation à l'issue de la formation
Ressources techniques et pédagogiques
- Support pédagogique remis ou mis à disposition des participants
- Environnement Linux
- Plateforme GitLab adaptée aux exercices
- Ansible dans une version compatible avec les travaux pratiques
- Control node, managed nodes
- Machines virtuelles ou environnements distants préparés pour les travaux pratiques
- GitLab Runner opérationnel
- Environnement AWX pour la séquence de démonstration lorsque celle-ci est réalisée
- Outil de visioconférence et fonctionnalités de partage d’écran en distanciel
Qualité et satisfaction
Modalités de certification
- Cette formation ne donne pas lieu à une certification.
Capacité d'accueil
Délai d'accès
Accessibilité
Nos formations sont accessibles à tous, y compris aux personnes en situation de handicap. Merci de nous contacter avant le début de la formation pour discuter des aménagements nécessaires : contact@kampus-training.com.