Description
Maitrisez le déploiement et la gestion d'infrastructures. Vous aborderez les principes de GitOps, l'utilisation de GitLab CI/CD, ainsi que l'intégration de Terraform et Ansible pour le provisionnement. Vous gérerez des environnements multi-branches, tout en mettant en place des pipelines complets. Des travaux pratiques tout au long de la formation permettent une application concrète des notions abordées.
Objectifs
- Comprendre les concepts et enjeux du GitOps
- Mettre en place un pipeline GitLab-CI dans une démarche GitOps
- Automatiser la création d'infrastructure avec Terraform
- Automatiser le provisionnement logiciel avec Ansible
- Gérer les environnements, les secrets et les différents niveaux de déploiement
Récapitulatif
Public
Ingénieurs DevOps, administrateurs systèmes, architectes cloud, développeurs fullstack orientés infrastructure
Prérequis
Bonne maîtrise de Git (branches, merge, workflows).
Connaissance de base en shell scripting (sh, bash).
Notions en administration Linux.
Notions en architecture cloud (AWS, Azure ou GCP).
Méthodes et modalités pédagogiques
Formation réalisée en Présentiel, Distanciel ou Dual-Learning selon la formule retenue.
Moyens et supports pédagogiques
Mise à disposition d'un poste de travail sur nos formations en Présentiel.
Mise à disposition de nos environnements de visio sur nos formations en Distanciel
Remise d'une documentation pédagogique numérique pendant la formation
La formation est constituée d'apports théoriques, d'exercices pratiques et de réflexions
Dans le cas d'une formation sur site Entreprise, le client s'engage à avoir toutes les ressources pédagogiques nécessaires (salle, équipements, accès internet, TV ou Paperboard...) au bon déroulement de l'action de formation conformément aux prérequis indiqués dans le programme de formation
Modalités de suivi et d'évaluations
Auto-positionnement des stagiaires avant la formation
Émargement des stagiaires et formateur par 1/2 journée
Exercices de mise en pratique ou quiz de connaissances tout au long de la formation permettant de mesurer la progression des stagiaires
Auto-évaluation des acquis de la formation par les stagiaires
Questionnaire de satisfaction à chaud et à froid à l'issue de la formation
Programme détaillé
Introduction à GitOps
- Principes et historique
- Avantages et risques
- PULL vs PUSH
- Panorama des outils GitOps (ArgoCD, FluxCD, Jenkins X...)
Module 2 : GitLab-CI pour GitOps
- Présentation de GitLab CI/CD
- Structure de .gitlab-ci.yml
- Variables d'environnement, artefacts, jobs
- Gestion des secrets avec GitLab
Gestion des environnements et stratégies GitOps
- Multi-branches et multi-dossiers
- Déploiement conditionnel par environnement
- Stratégie de versionning et validation
Introduction à Vault et gestion des secrets
- Pourquoi HashiCorp Vault ?
- Cas d'usage typiques (tokens, SSH, API keys)
- Intégration basique dans GitLab
- TP Fil Rouge tout au long de la journée: Mise en place d'un pipeline GitLab complet (multi-env) avec secrets
Bases de Terraform
- HCL, providers, ressources, variables
- Fichiers d'état (state), backends, locking
- Workspaces et organisation
Modularité & bonnes pratiques
- Modules réutilisables
- Référentiels par environnement
- Templates et input variables
Intégration Terraform + GitLab-CI
- Format, validate, plan, apply
- Sauvegarde de l'état distant (S3, Terraform Cloud)
- Plan sur MR, apply post-validation
- TP Fil Rouge tout au long de la journée : Création et déploiement d'une infra Cloud via GitLab + Terraform à partir du pipeline existant
Fondamentaux Ansible
- Inventaires, playbooks, roles
- Variables, templates, handlers
- Exécution locale vs distante
GitOps avec Ansible
- Organisation des répertoires Git
- Gestion des inventories par environnements
- Pipeline GitLab pour l'exécution de playbooks
Projet final de synthèse
- Création d'un projet GitOps complet
- CI/CD : Terraform + Ansible + GitLab
- Séparation des environnements + gestion des secrets
- Validation + rollback
- TP Fil Rouge Final : Mise en production simulée d'une application via GitOps à partir du pipeline existant