Cette formation orientée DevOps est indispensable pour qu’une équipe fonctionne uniformément en interne. Elle se déroule sur une journée et couvre divers aspects d’Ansible, GitLab CI, Docker-Compose, Systemd, avec des exercices théoriques et pratiques pour maîtriser les outils et bonnes pratiques DevOps.
Objectifs pédagogiques
Identifier comment la configuration Ansible est reliée à la configuration de Django
Connaître les bonnes pratiques de CI
Connaître les settings/variables d’environnements Django
Connaître les bons réflexes pour intervenir sur une prod
Comprendre les serveurs impliqués dans le processus de déploiement (forge/runner/registry/lxc)
Formation DevOps pour une équipe
en détail
Programme
Premier pas avec Ansible (2h)
introduction à Ansible : les grands principes (inventaire, playbook, tasks, modules, idempotence ; comparaison avec « make »)
explication du découpage inventaire/playbook (pour simplifier, on peut se représenter l’inventaire comme la liste des hôtes et leurs variables)
explication de deux/trois modules clés (template, copy, command/shell, file)
où trouver la doc ansible
Révision Gitlab CI (1h)
stages
jobs
surcharge d’attributs
pipeline (avec les différents types de pipeline)
variables et leurs règles de surcharge
Gitlab CI avancé (1h)
éléments de syntaxes avancés de gitlab CI
rules
workflow
needs
artifacts
interruptible
included pipelines
présentation de la syntaxe
Fonctionnement avancé de docker-compose et présentation de la stack générique (1h30)
settings et variables d’environnements django importants à connaître
assemblage de plusieurs fichiers docker-compose pour réaliser une stack (fichier .env + COMPOSE_FILE)
volumes (bind mount vs volumes nommés, volumes anonymes?, fichiers volatiles dans le conteneur)
env_file/environment/compose env (./.env)
depends_on/entrypoint/healthcheck ; différence entre command/cmd et entrypoint
présentation des 4 fichiers docker-compose de la stack générique
Présentation de django-deploy (1h)
présentation des différents jobs
explication du déploiement ansible
expliquer merge variable ansible (mot-clé vars_file et module include_vars)
Unité systemd (30min)
voir les logs
redémarrer la stack
stopper la stack
Conclusion (30min)
présenter tout le chemin entre l’identification d’un problème lié à un setting django jusqu’au différentes sources de ce setting en fonction de l’environnement
Public et pré-requis
Public
Tous profils techniques : développeurs, ingénieurs, chefs de projets…
Pré-requis
Utiliser régulièrement GIT dans ses projets
Personne en situation de handicap
Pour toutes questions relatives à l’accueil d’un participant présentant un handicap, merci de nous contacter préalablement avant toute inscription
Ingénierie pédagogique
Moyens pédagogiques et techniques
Les supports de cours (slides) seront disponibles en ligne et distribués en début de formation (à l’aide d’un lien vers notre outil interne ou d’une version numérisée), puis fournis au format électronique à la fin de la formation
Une salle de formation équipée d’une connexion Internet, d’un vidéoprojecteur, paperboard. Ou une salle virtuelle pour les formations à distance (FOAD).
Un ordinateur par stagiaire avec un système d’exploitation installé et les outils nécessaires.
Modalités de suivi de l’exécution du programme
Durant la formation: alternance d’apports théoriques (30% du cours), d’exercices pratiques et de mise en situation sous forme de travaux pratiques corrigés avec l’expert-formateur.
En fin de formation: évaluation à chaud sur l’atteinte des objectifs pédagogiques sous forme de tour de table et de test de connaissances, d’exercices, de QCM.
Moyens d’encadrement
Formation assurée par un expert-formateur DevOps ayant une expérience significative.