Programme
##GitlabCI
Gitlab CICD
Durée: 2 jours (2 x 7 heures)
Résumé
Gitlab est une plateforme de développement logiciel intégrant toutes les étapes de conception. Orienté autour du code, elle propose de nombreuses fonctionnalités de versionning avec Git, de ticketing, de suivi des évolutions de manière continue... Elle est très populaire au sein des entreprises avec son offre en hébergement local, gratuite ou payante.
L'une de ses fonctionnalités phare est son moteur de CICD, assez complet et complexe, permettant d'automatiser de nombreuses tâches. Connaitre cet outil et savoir le mettre en place au sein de projets permet d'exploiter à son maximum Gitlab et ainsi assurer la qualité des livrables produits et fiabiliser leur livraison.
À qui s’adresse cette formation
Cette formation s'adresse aux développeurs, devops et architectes qui utilisent, ou non, Gitlab dans leurs missions, et qui souhaitent découvrir ou approfondir leurs connaissances sur Gitlab CICD ainsi que sa mise en oeuvre dans des projets.
Objectifs pédagogiques
- Savoir ce qu'est une chaine de CICD
- Connaitre le fonctionnement de Gitlab CICD
- Savoir mettre en place une pipeline de CICD sur Gitlab
- Savoir concevoir et implémenter une pipeline pour des cas complexes
Pré-Requis
(Les participants ont-ils besoin d’avoir des connaissances préalables ? Est-ce qu’ils auront besoin d’installer un programme, une extension ou autre ?)
- Une connaissance des bases de Git (commit, branches, tags...)
- Des connaissances de bases du développement logiciel
- Un compte Gitlab (sur gitlab.com ou une autre instance self hosted)
- Un éditeur de texte ainsi qu'un client Git installé est recommandé afin de pouvoir réaliser les exercices dans de meilleurs conditions.
Contenu
- Jour 1 : Intro à la CICD et les bases de Gitlab CICD
- Qu'est-ce qu'une chaine de CICD ?
- Architecture de base des pipelines Gitlab CICD
- stages,
- jobs,
- règles d'exécution conditionnelle...
- Contexte d'exécution des pipelines
- runners,
- images,
- variables,
- artefacts...
- Jour 2 : Concepts avancés
- Runner executors
- Architecture avancée
- dépendances inter-jobs,
- services,
- inclusions externes,
- mise en cache...
- Intégration avec des outils externes (Terraform, Kubernetes...)
- Gitlab Saas vs self-hosted, CE vs EE
Méthodes pédagogiques
L'ensemble des concepts abordés sera illustré le plus possible par des exemples, issus de la documentation officielle, ainsi que des cas plus concrets. Des temps de TP sont prévus afin de permettre la mise en application des notions présentées.
Méthodes et modalités de suivi et d’évaluation
Les slides, exemples et corrections possible des exercices seront mis à disposition à l'issue de la formation.