GitLab

Formation Gitlab : maîtriser la plateforme de développement collaboratif (l’alternative à GitHub)

Les stagiaires seront capables de travailler sur un outil leur permettant de centraliser, formaliser et organiser le travail d’équipe sur des petits comme des gros projets.

GitLab est une plateforme extrêmement complète, permettant de gérer ses projets avec des boards kanban.
Il est très simple par la suite de lier les branches et merges requests à ces tâches.

L’implémentation d’un outil d’intégration continue et de déploiement continu apporte une facilité aux développeurs pour permettre d’automatiser certaines actions. Ainsi, elle apporte une standardisation dans leurs méthodes de développements.

Pour les équipes souhaitant faire de la conteneurisation, nous aborderons le registry. Après la maîtrise de l’intégration continue, les stagiaires seront capables de relier toutes ces parties distinctes dans un process simple et bien établi.

Si la sécurité est un point important de votre organisation, nous faisons un focus sur les différents points permettant de sécuriser nos actions.

Nous aurons aussi l’occasion d’utiliser des services tiers pour évaluer notre projet.

Résumé

Logiciels et principaux outils concernés : Git, Gitlab, un IDE, un terminal
Durée : 14 heures
Objectifs :
 Utiliser GitLab pour la gestion d’un projet avec plusieurs collaborateurs.
 Automatiser ses processus de développement avec de l’intégration Continue
 Fiabiliser ses déploiements avec le déploiement continu.
 Appliquer les bonnes pratiques de collaboration en équipe sur un projet Git
Pré-requis : Maîtriser Git (lien vers la formation GIT) et avoir des connaissances dans des langages de développement et/ou dans la mise en place d’une application sur serveur GNU/Linux.
Public : Développeur, Administrateur système, Gestionnaire de Déploiements, Ingénieur Assurance Qualité, Responsable Sécurité Informatique
Méthodes mobilisées : Alternance d’apports théoriques et d’exercices de mise en application pratique.
Modalités et délais d’accès : Sur inscription préalable au minimum 1 semaine avant le début de la formation selon disponibilité du formateur.
Modalités d’évaluations : Une évaluation du niveau des stagiaires est réalisée avant l’entrée en formation par téléphone ou au moyen d’un questionnaire. Évaluation des acquis et de la satisfaction en fin de formation.
Accessibilité aux personnes en situation de handicap ou présentant des difficultés d’apprentissage : nous pouvons proposer des solutions de compensation de nos prestations en adaptant les moyens pédagogiques, techniques et d’encadrement (les précisions).
Taux de satisfaction 2i2L : 96,34 % des stagiaires sont satisfaits à l’issue de leur formation.
Tarif : pour une demande de formation interne, nous consulter.

Présentation

Liens majeurs :

 Card du landscape cncf.io : https://landscape.cncf.io/selected=git-lab
 site officiel : https://about.gitlab.com/
 wikipedia : https://fr.wikipedia.org/wiki/GitLab
 depot git : https://gitlab.com/gitlab-org

Programme

Introduction à la philosophie GitOps
 Savoir gérer un projet : échange entre équipes, répartition des tâches
 Savoir réduire le "Time To Market", gagner du temps
 Savoir partager son savoir et ses responsabilités
 Comprendre les enjeux de l’Infrastructure As Code

Exploration de Gitlab
 Être averti à l’écosysteme GitLab
 Apprendre son fonctionnement
 Découvrir l’interface de Gitlab
 Connaître les plateformes alternatives
 Comprendre le "GitLab Flow"
 Être sensibilisé aux diverses fonctionnalités

Gestion de Projet
 Créer un "repository"
 Gérer les utilisateurs
 Savoir créer des tâches (issues / bug tracking)
 Utiliser la fonction "Board"
 Comprendre la notion des "milestones"
 Savoir gérer les "labels"
 Être averti à la fonction "wiki"
 Maîtriser le paramétrage de ses projets
 Être en mesure de personnaliser le projet avec des badges

Travail d’équipe
 Maîtriser son installation et sa configuration Git
 Maîtriser la création de clé ssh
 Créer des "branches"
 Connaître la fonction de "merge request"
 Faire une "review"
 Résoudre des conflits
 Maîtriser la gestion du temps des tâches

Intégration et Déploiement Continu
 Découvrir les concepts d’intégration et de Déploiement Continu (CI/CD)
 Découvrir le "yaml"
 Saisir le fonctionnement des "GitLab Runner"
 Découvrir la syntaxe "gitlab-ci"
 Maîtriser la construction du fichier "gitlab-ci.yml"
 Être averti aux méthodes de déploiement
 Intégrer des services tiers (sonarqube, notification rocketchat)

Conteneurisation
 Maîtriser la technologie des conteneurs
 Comprendre la notion de "registry"
 Maîtriser les interactions avec le "registry"
 Intégrer les interactions dans "Gitlab-ci"

Sécurité
 Savoir utiliser les outils de sécurité fournis
 Comprendre l’intérêt des variables d’environements
 Différencier les "Secured by design" et "Privacy by design"