Gitlab

GitLab CI/CD, maîtriser la gestion du cycle de vie de vos développements logiciels

Objectifs de la formation

  • 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

Programme de la formation

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 des runners

  • 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 le cloud AWS.
  • 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).
Please login to get access to the quiz
Back to Gitlab
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.