GitLab-CI

Formation DevOps : automatiser un processus de développement avec GitLab-CI Automatiser un pipeline de développement avec GitLab-CI

Les participants seront capables de comprendre comment utiliser GitLab-CI pour automatiser leur pipeline de développement et réaliser une intégration et un déploiement continus. Avec l’option infrastructure, il sera également possible de confectionner un pipeline orienté Infrastructure as Code.

Résumé

Logiciels et principaux outils concernés : vscodium, git, gitlab, gitlab-ci
Durée : 7 heures, réalisables par lot de demi-journées, en présentiel ou en visioconférence
Objectifs :
 comprendre les principes de base de l’intégration et du déploiement continus, ainsi que la manière dont GitLab-CI peut être utilisé pour automatiser ce processus
 configurer un pipeline GitLab-CI pour votre propre projet
 évaluer votre pipeline de développement actuel
 identifier les domaines qui peuvent être automatisés en utilisant GitLab-CI
 concevoir un pipeline GitLab-CI pour un projet complexe en utilisant les fonctionnalités avancées de GitLab-CI
 automatiser et standardiser votre code d’infrastructure avec la suite d’outil Hashicorp
Pré-requis : nous demandons une connaissance de base de GitLab et de la gestion de code source avec Git, si ce n’est pas le cas n’hésitez pas à regarder nos autres formations sur le sujet. Avoir des notions sur l’architecture d’une application web et une expérience avec les langages de programmation couramment utilisés pour le développement web (par exemple, nodejs, python, java, etc.). Connaissance de base de la ligne de commande Linux/Unix facilite la mise en place des actions désirée. (Des formations GNU+linux sont disponibles si vous désirez une mise à niveau avant). Une familiarité avec l’utilisation de Docker et des conteneurs pour la personnalisation des actions peut être un plus. Enfin, si vous souhaitez l’option infrastructure, il vous faudra maitriser les outils de la suite hashicorp (voir les formations disponibles).
Public : administrateur de système GNU+Linux, administrateur système cloud, administrateur système devops , développeur, site reliability engineer, Gestionnaire de Déploiements, Ingénieur Assurance Qualité, Responsable Sécurité Informatique , Responsable technique , Expert en cybersécurité
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

L’intégration continue est un ensemble de pratiques utilisées en génie logiciel consistant à vérifier à chaque modification de code source que le résultat des modifications ne produit pas de régression dans l’application développée. Le concept a pour la première fois été mentionné par Grady Booch et se réfère généralement à la pratique de l’extreme programming. Le principal but de cette pratique est de détecter les problèmes d’intégration au plus tôt lors du développement. De plus, elle permet d’automatiser l’exécution des suites de tests et de voir l’évolution du développement du logiciel.

L’intégration continue est de plus en plus utilisée en entreprise afin d’améliorer la qualité du code et du produit final [1].

 le site officiel
 la documentation
 la forge logicielle
 Les licences de distribution
 l’article Intégration Continue sur Wikipédia

Programme

Introduction :
 être averti à GitLab-CI et l’intégration continue
 découvrir les fonctionnalités de GitLab-CI

Compréhension :
 comprendre le principe de l’intégration et du déploiement continus
 savoir comment GitLab-CI peut aider à automatiser un processus
 comprendre les concepts clés de GitLab-CI

Application basique :
 maîtriser la configuration de GitLab-CI pour un projet simple tel que la parallélisation, les dépendances, les artifacts, les variables...
 comprendre les étapes du pipeline GitLab-CI
 maîtriser la syntaxe "yaml"
 déployer sur un environnement cible

Analyse :
 évaluer les performances et de la qualité de son pipeline de développement actuel
 identifier des domaines pouvant être automatisés avec GitLab-CI

Application avancée :
 concevoir un pipeline GitLab-CI pour un projet complexe
 utiliser des fonctionnalités avancées telles que les jobs parallèles, les workflows, les matrices
 conserver son résultat d’application dans le "package registry"
 maîtriser le build d’un conteneur docker
 conserver son conteneur dans le registry docker

Option Infrastructure :
 générer des images packer
 comprendre la mise en place d’un "remote backend" terraform avec gitlab et automatiser son usage
 utiliser la gestion des modules terraform
 maîtriser la configuration d’un pipeline terraform