L'offre GitLab
- GitLab CE (Community edition). GitLab EE (Enterprise edition).
- Les différents types d'utilisation de GitLab : gitlab.com, on premise, on cloud (AWS, GCP).
- Procédure d'inscription sur gitlab.com.
Travaux pratiques
Création d'un compte GitLab sur gitlab.com. Parcours de l’interface.
Rappels sur Git et son utilisation avec GitLab
- Les concepts Git : blob, tree, commit, revision, branche, tag…
- Gestion locale des fichiers. Consultation et modification de l’historique de travail.
- Gestion des branches. Fusions des branches et gestion des conflits.
Travaux pratiques
Mise en place d'un dépôt distant et simulation d'un travail collaboratif.
La gestion du dépôt avec GitLab
- La gestion des collaborateurs d’un projet et leurs droits.
- Le système d’issues et le lien avec les commits.
- Présentation du wiki et des snippets.
Travaux pratiques
Paramétrage des droits et création de merge requests.
GitLab CI/CD
- Présentation de GitLab CI/CD et des GitLab runners.
- Présentation de Docker.
- Le fichier manifeste gitlab-ci.yml, présentation du langage YAML.
- Les balises essentielles pour décrire des étapes, des jobs, des traitements (stages, images, script…).
- Le suivi d’exécution du pipeline. Jobs automatiques, manuels et planifiés.
- Les artifacts et l’amélioration des performances avec le cache.
- La documentation officielle relative à la syntaxe du fichier manifeste.
- La gestion des environnements.
Travaux pratiques
Exemples simples de création et d'enchaînement de jobs.
Plus loin dans l’utilisation de GitLab
- Les types de runners (shared runner, specific runner et group runner).
- Les shared runners disponibles sur gitlab.com gérés par l'équipe GitLab.
- Scalabilité des runners avec Docker Machine.
- Le Docker executor et les images disponibles : MySQL, PostgreSQL, Redis, MongoDB, Ruby...
- Les tests d'intégration, les tests fonctionnels, les tests de montée en charge.
- Le déploiement vers un cloud.
- Le Kubernetes executor et la répartition des jobs dans un cluster Kubernetes.
- Intégration de l'outil de monitoring Prometheus.
Travaux pratiques
Mise en place d’un specific runner. Exécution d’enchaînements de jobs sur différents runners.
Fonctionnalités complémentaires de GitLab
- Shared runners sous Windows.
- Infrastructure as code avec Terraform.
- Auto DevOps.
- Tests de sécurité dynamiques (DAST).