Description
Cette formation vise à familiariser les participants avec Git et GitLab, en abordant les concepts clés du versionnage distribué, les avantages de Git par rapport aux systèmes centralisés, ainsi que les principales commandes. Les apprenants découvriront l'architecture de GitLab, la gestion des droits, et les fonctionnalités de base telles que la gestion des projets, des branches et des tags. Les workflows de collaboration, les pipelines CI/CD, et l'intégration avec Kubernetes seront également explorés, offrant ainsi aux professionnels du développement et de l'administration système des outils pour optimiser leur travail en
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