Basé sur Git pour gérer les dépôts de codes, GitLab se présente comme une alternative à GitHub avec une forte dimension CI/CD.
GitLab, qu’est-ce que c’est ?
GitLab est une plateforme de développement collaborative qui couvre l’ensemble des étapes du DevOps. Se basant sur les fonctionnalités du logiciel Git, elle permet de réaliser des dépôts et de gérer les versions de vos codes sources. Son usage est particulièrement indiqué pour les développeurs qui souhaitent disposer d’un outil réactif et accessible.
L’objectif de cette formation est de vous permettre de monter vos propres chaîne d’intégration continue et déploiement continu à l’aide de Gitlab-ci, véritable couteau Suisse.
Profils concernés:
- Développeur
- Administrateur Système et réseau
- DevOps
- Ingénieur Cloud
- Tech lead, architect et manager
Prérequis souhaités (mais pas obligatoire):
Formateur: Dirane TAFEN
Contributeur: Un Grand merci à Sami Amoura pour son article sur le GitOps
Durée de la formation: 4 heures
-
Module 00 : Présentation de la formation
-
Module 01 : Introduction au DevOps et au CI CD
-
Module 02 : GITLAB
-
Module 03 : Build
-
Module 04 : Test d'acceptance
- Jobs en parallèle
- Artefacts
- Cache
- Artefact vs Cache
- Lab-2 : Test d’acceptance
- Lab-2 : [correction] sans artefact
- Lab-2 : [correction] avec artefact
- Lab-2 : [correction] test d’acceptation partie 1
- Lab-2 : [correction] test d’acceptation partie 2
- Lab-2 : [correction] test d’acceptation partie 3
- Lab-2 : [correction] test d’acceptation partie 4
- Lab-2 : [correction] paramètres globaux
- Lab-2 : [correction] : code utilisé
-
Module 05 : RELEASE
-
Module 06 : Déploiement
- environnement de déploiement
- variables de job
- Déploiement manuel
- Merge request
- Environnement dynamique
- Cleanup
- Lab-4 : Déploiement en prod et staging
- Lab-4 : [correction] création compte heroku
- Lab-4 : [correction] job de déploiement partie 1
- Lab-4 : [correction] job de déploiement partie 2
- Lab-4 : [correction] job de déploiement partie 3
- Lab-4 : [correction] code utilisé
- Lab-5 : Environnement dynamique et code review
- Lab-5 : [correction] job review
- Lab-5 : [correction] cleanup partie 1
- Lab-5 : [correction] cleanup partie 2
- Lab-5 : [correction] cleanup partie 3
- Lab-5 : [correction] code utilisé
-
Module 07 : Test de validation
-
Module 08 : GitOps
-
Module 09 : Pipeline avec k8s basique
- présentation de la problématique
- présentation de l’architecture
- source utilisée
- explication du code utilisé
- définition des variables d’environnement
- copie du code kubernetes
- mise à jour du pipeline
- image kubectl
- ca certificate file
- gestion du certificat
- idempotence de la commande kubectl create
- vérification de l’application en production
-
Module 10 : Auto-DevOps : Gitlab-CI + EKS
- présentation de la problématique
- présentation de l’architecture à implémenter
- Liens utiles
- création de la connexion entre gitlab et aws
- création du cluster kubernetes EKS via gitlab
- vérification de la création du cluster
- installation de l’ingress controller
- configuration du DNS
- installation de prometheus
- consultation des métriques prometheus
- activation auto-devops
- auto-devops en action
- vérification de l’application en environnement de preprod
- vérification de l’application en environnement de prod
-
Module 11 : Mini-projet