Description
Ce programme de formation s'adresse aux professionnels souhaitant maîtriser les pratiques GitOps en utilisant des outils tels que GitLab CI/CD, Terraform et Ansible. Sur trois jours, les participants exploreront les principes de GitOps, la gestion des secrets avec HashiCorp Vault, ainsi que les bases et les bonnes pratiques de Terraform. Des travaux pratiques sont intégrés à chaque étape, permettant de créer des pipelines CI/CD complets et de simuler le déploiement d'applications. L'accent est mis sur l'intégration et la modularité des outils pour une gestion efficace des infrastructures.
Objectifs
- <span style="font-size: 10pt;">Comprendre les concepts et enjeux du GitOps.</span><span style="font-size: 10pt;">Mettre en place un pipeline GitLab-CI dans une démarche GitOps.</span><span style="font-size: 10pt;">Automatiser la création d'infrastructure avec Terraform.</span><span style="font-size: 10pt;">Automatiser le provisionnement logiciel avec Ansible.</span><span style="font-size: 10pt;">Gérer les environnements, les secrets et les différents niveaux de déploiement.</span>
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é
- Jour 1 : GitOps et GitLab CI/CD
- Module 1 : Introduction à GitOps (1h)
- Principes et historique
- Avantages et risques
- PULL vs PUSH
- Panorama des outils GitOps (ArgoCD, FluxCD, Jenkins X...)
- Module 2 : GitLab-CI pour GitOps (2h)
- Présentation de GitLab CI/CD
- Structure de .gitlab-ci.yml
- Variables d'environnement, artefacts, jobs
- Gestion des secrets avec GitLab
- Module 3 : Gestion des environnements et stratégies GitOps (2h)
- Multi-branches et multi-dossiers
- Déploiement conditionnel par environnement
- Stratégie de versionning et validation
- Module 4 : Introduction à Vault et gestion des secrets (2h)
- 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
- Jour 2 : Terraform et infrastructure GitOps
- Module 5 : Bases de Terraform (2h)
- HCL, providers, ressources, variables
- Fichiers d'état (state), backends, locking
- Workspaces et organisation
- Module 6 : Modularité & bonnes pratiques (2h)
- Modules réutilisables
- Référentiels par environnement
- Templates et input variables
- Module 7 : Intégration Terraform + GitLab-CI (3h)
- 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
- Jour 3 : Provisionnement avec Ansible & projet GitOps complet
- Module 8 : Fondamentaux Ansible (2h)
- Inventaires, playbooks, roles
- Variables, templates, handlers
- Exécution locale vs distante
- Module 9 : GitOps avec Ansible (2h)
- Organisation des répertoires Git
- Gestion des inventories par environnements
- Pipeline GitLab pour l'exécution de playbooks
- Module 10 : Projet final de synthèse (3h)
- 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