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 : toutes nos formations sont accessibles aux personnes en situation de handicap, qu’il soit moteur, visuel, auditif ou cognitif ; quelles qu’en soient les particularités.
Nous pouvons proposer des solutions de compensation de nos prestations en adaptant les moyens pédagogiques, techniques et d’encadrement. Nos locaux sont en rez-de-chaussée avec des places de parkings extérieures juste devant l’entrée du bâtiment. Aussi, merci de nous informer de vos besoins d’adaptation ; les échanges peuvent se faire et rester en toute confidentialité.
Taux de satisfaction 2i2l : 100% des stagiaires sont "très satisfaits" ou "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"