Description
Cette formation vise à familiariser les participants avec Git et GitLab, en mettant l'accent sur les systèmes de versionning distribués et les avantages de GitLab. Les notions principales incluent les commandes Git, l'architecture de GitLab, la gestion des droits, ainsi que les fonctionnalités de base comme la gestion de projets et de branches. Les participants apprendront également à utiliser les workflows de collaboration, à configurer des pipelines CI/CD, à effectuer des tests et à intégrer Kubernetes. Ce programme s'adresse aux développeurs et aux professionnels de l'informatique souhaitant améliorer leurs compétences
Objectifs
- Connaître l'offre GitLab
- Pratiquer la gestion de versions avec Git et collaborer avec GitLab
- Mettre en place l'intégration continue (CI) et le déploiement continu (CD) avec GitLab
- Appréhender les éléments constitutifs d'une usine logicielle DevOps
Récapitulatif
Public
Développeurs, chefs de projet, administrateurs systèmes, architectes.
Prérequis
Connaissances de base des commandes Linux
Connaissances de base de la gestion de versions avec Git
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é
Rappels Git
- Git : un système de versionning distribué
- Avantages par rapport aux systèmes centralisés
- Principales commandes
La solution GitLab
- Introduction, Releases disponibles
- Architecture, modèle de données
- Les rôles et la gestion des droits
- Installation de GitLab
- Découverte de l'interface, fonctionnalités d'administration
- Mise en place de dépôt
- Configuration client, configuration des accès
Fonctionnalités de base de GitLab
- Notion de projet dans GitLab
- README.md, Wiki, Snippets...
- Gestion des branches et des tags
- Côté client : Synchronisation avec le serveur, Clone de dépôt
- Visualisation historique et activité
Workflows de collaboration
- GitFlow et GitLab Flow
- Gestion des issues
- Configuration des notifications
- Branches et tags protégés
- Releases, Milestone
- Merge request
Pipelines GitLab CI/CD (GitLab Continuous Integration & Delivery)
- Pipelines, pipelines typiques DevOps, .gitlab-ci.yml
- Jobs et Runners, typologie des runners, l'apport de Docker
- Variables
- Environnement et déploiements
- Cache et artefacts
- Contrôle du flow
- Include et gabarits
- Services Docker
Les tests dans la pipeline
- Exploitation des formats JUnit
- Tests d'accessibilité, performance du navigateur
- Qualité de code
- Tests de charge
- Tableau de bord de métriques
Dépôt de packages
- Rôle du dépôt de package dans une pipeline DevOps
- Format supporté par Gitlab
- Registres d'image Docker
Intégration Kubernetes
- Apport de l'orchestrateur de conteneurs
- Configuration de cluster
- IaaS avec Terraform
- Tableaux de bord de déploiement