Bibliothèque Numérique ENI :
tous nos livres & vidéos, en accès illimité 24h/24. Cliquez ici
-100€ sur la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres & vidéos
  2. Le DevOps en pratique avec GitLab - Gestion de projets et pipelines CI/CD

Le DevOps en pratique avec GitLab Gestion de projets et pipelines CI/CD

Informations

Livraison possible dès le 23 mai 2025
  • Livraison à partir de 0,01 €
  • Version en ligne offerte pendant 1 an
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • Livre (broché) - 17 x 21 cm
  • ISBN : 978-2-409-04965-1
  • EAN : 9782409049651
  • Ref. ENI : EIGITLAB

Informations

  • Consultable en ligne immédiatement après validation du paiement et pour une durée de 10 ans.
  • Version HTML
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • HTML
  • ISBN : 978-2-409-04966-8
  • EAN : 9782409049668
  • Ref. ENI : LNEIGITLAB

Les points forts du livre :

  • Une approche progressive adaptée à tous les niveaux,
  • Une mise en pratique concrète et opérationnelle des pipelines CI/CD,
  • Une vision actuelle et orientée vers l’avenir du développement logiciel
Consulter des extraits du livre en ligne Aperçu du livre papier
  • Niveau Confirmé à Expert
  • Nombre de pages 724 pages
  • Parution mai 2025
  • Niveau Confirmé à Expert
  • Parution mai 2025

GitLab s’impose aujourd’hui comme l’un des outils phares pour gérer le cycle de développement logiciel dans une démarche DevOps ou DevSecOps. Ce livre offre une vue d’ensemble claire et détaillée des fonctionnalités de GitLab, tout en guidant le lecteur dans sa mise en oeuvre.

Pensé pour les débutants autant que pour les utilisateurs confirmés, ce livre explore toutes les facettes de GitLab. Il s’appuie sur de nombreux exemples concrets, des schémas explicatifs et des exercices pratiques pour accompagner le lecteur dans l’apprentissage de la plateforme.

Les premiers chapitres de l’ouvrage décrivent le fonctionnement de GitLab ainsi que les approches modernes telles que le DevOps et le DevSecOps qui sont au coeur de sa conception. Le livre se poursuit avec une présentation du système de gestion Git dans le contexte de GitLab pour ensuite examiner les fonctionnalités de gestion et de suivi de projets.

Les chapitres suivants sont consacrés à la configuration et la mise en oeuvre des pipelines CI/CD. Les différentes étapes qu’ils peuvent automatiser sont examinées à partir d’exemples concrets : analyse, sécurisation, build, packaging et déploiement du code source. Toutes ces opérations sont mises en pratique dans les derniers chapitres du livre avec un exemple de bout en bout qui permettra aussi d’introduire des notions plus avancées.

Enfin, le livre s’achève par un regard vers l’avenir, avec une exploration des outils de sécurisation du code source et une présentation des fonctionnalités d’intelligence artificielle comme l’assistant GitLab Duo.

Au terme de cet ouvrage, le lecteur aura une bonne compréhension du fonctionnement de GitLab et il sera en mesure de gérer des projets et créer ses propres pipelines dans une perspective DevOps ou DevSecOps.

 

Avant-propos
  1. Présentation du livre
  2. Contenu et approche privilégiée
  3. À qui s’adresse ce livre ?
  4. Organisation du livre
  5. Note sur la version de GitLab
  6. Plateforme et outils de travail
  7. Dépôt contenant les exemples du livre
Introduction à GitLab
  1. Introduction
  2. Qu’est-ce que GitLab ?
    1. 1. Définition de GitLab
      1. a. Une forge logicielle conçue autour de Git
      2. b. Une plateforme orientée DevOps et DevSecOps
    2. 2. Les utilisateurs visés par la plateforme
  3. Bref historique de GitLab
    1. 1. Le contexte d’émergence de GitLab
    2. 2. Une nouvelle forge logicielle open source
      1. a. Conception logicielle et technologies
      2. b. L’ajout d’une solution d’intégrationcontinue
    3. 3. Naissance de GitLab Inc.
    4. 4. Migration de Microsoft Azure vers Google Cloud Platform
    5. 5. Croissance et orientation DevSecOps
  4. Comparaison avec les solutions concurrentes
    1. 1. Les forges logicielles basées sur Git
      1. a. Les solutions propriétaires : GitHubet Bitbucket
      2. b. Les solutions open source
      3. c. Les solutions intégrées à desservices cloud
    2. 2. Les outils d’intégration et de déploiementcontinus
      1. a. Les outils open source et propriétaires
      2. b. Les outils spécialisés
  5. Avantages et inconvénients du modèle de GitLab
    1. 1. Une plateforme unifiée de type tout-en-un
    2. 2. Une plateforme permettant de nombreuses intégrations
    3. 3. Services CI/CD et version autogéréegratuits
    4. 4. Dépôts moins nombreux et communauté restreinte
  6. Les modes d’utilisation de GitLab
    1. 1. Les types de déploiements de GitLab
    2. 2. Les éditions de GitLab
      1. a. GitLab Community Edition
      2. b. GitLab Enterprise Edition
    3. 3. L’édition retenue pour le présentouvrage
  7. Prise en main de GitLab
    1. 1. Créer un compte GitLab en mode SaaS
    2. 2. Configurations initiales
      1. a. Modifier la langue d’affichage et le formatde l’heure
      2. b. Personnaliser le profil utilisateur
      3. c. Modifier le nom d’utilisateur
    3. 3. Apprendre à naviguer dans GitLab
      1. a. Le panneau Votre travail
      2. b. Le panneau « Projets »
  8. Conclusion
Comprendre le cycle de développement logiciel
  1. Introduction
  2. Qu’est-ce que le cycle de développement logiciel ?
  3. Le modèle en cascade
    1. 1. Les étapes du modèle en cascade
    2. 2. Le processus de livraison de logiciels traditionnel
    3. 3. Les inconvénients liés aux tâchesmanuelles
  4. Le cycle de développement logiciel agile
    1. 1. Le manifeste pour le développement agilede logiciels
    2. 2. L’importance d’adopter une approcheitérative
    3. 3. Le diagramme de Venn des méthodes agiles
    4. 4. L’importance des tests QA
      1. a. La matrice agile de tests
      2. b. La pyramide de tests de Mike Cohn
    5. 5. L’intégration continue
    6. 6. La livraison et le déploiement continus
  5. Le DevOps
    1. 1. Les origines du mouvement DevOps
      1. a. Le Site Reliability Engineering
      2. b. Le Lean Management et l’automatisation
    2. 2. La boucle infinie du DevOps
    3. 3. Le diagramme de Venn du DevOps
    4. 4. Les cinq idéaux du CALMS
  6. Le DevSecOps
    1. 1. Les neuf principes du DevSecOps
    2. 2. Intégrer la sécurité plustôt dans le SDLC
      1. a. La sécurité comme responsabilité partagée
      2. b. Intégrer la sécurité dansles pipelines
      3. c. La boucle infinie du DevSecOps
    3. 3. Le diagramme de Venn du DevSecOps
    4. 4. Le concept de « Shift Left »
      1. a. Le « Shift Left » appliqué auxtests QA
      2. b. Le « Shift Left » appliqué auDevSecOps
  7. Conclusion
Fondamentaux de Git pour GitLab
  1. Introduction
  2. Qu’est-ce que Git ?
    1. 1. Contexte d’émergence de Git
    2. 2. Définition générale deGit
  3. Les systèmes de gestion de version
    1. 1. Les systèmes de gestion de version centralisés
      1. a. Une approche basée sur le delta
      2. b. Les contraintes du modèle centralisé
      3. c. La notion de dépôt
    2. 2. Les systèmes de gestion de version distribués
      1. a. Une approche basée sur des instantanésou snapshots
      2. b. Les avantages du modèle distribué
  4. Installer et configurer Git
    1. 1. Installer Git sur macOS ou Linux
    2. 2. Installer Git sur Windows
    3. 3. Récapitulatif des commandes vues dans cettesection
  5. Créer et configurer un dépôt local Git
    1. 1. Configuration initiale de Git
    2. 2. Initialiser un nouveau dépôt local
    3. 3. Récapitulatif des commandes vues dans cettesection
  6. Comprendre le workflow de Git
    1. 1. Les trois états des fichiers dans Git
    2. 2. Un exemple du workflow de Git
      1. a. Créer des fichiers dans le répertoirede travail
      2. b. Ajouter les fichiers à l’espacede staging
      3. c. Enregistrer ou faire un commit des fichiers
    3. 3. Les trois phases ou sections du workflow de Git
    4. 4. Quelques commandes utiles dans le workflow de Git
      1. a. Aller plus loin avec git add
      2. b. Comparer des fichiers avec git diff
      3. c. Annuler l’ajout de contenu dans l’espacede staging
    5. 5. Récapitulatif des commandes vues dans cettesection
  7. La notion de commit et le pointeur HEAD
    1. 1. Comprendre la notion de commit
      1. a. La représentation des commits
      2. b. Faire afficher la chaîne hexadécimaled’un commit
      3. c. Modifier ou supprimer un commit
      4. d. Revenir à un commit antérieur
    2. 2. Comprendre le pointeur HEAD
      1. a. Faire afficher le pointeur HEAD
      2. b. L’emplacement du fichier du pointeur HEAD
    3. 3. Récapitulatif des commandes vues dans cettesection
  8. La fonctionnalité de branching dans Git
    1. 1. Comprendre la notion de branche
      1. a. Créer une nouvelle branche
      2. b. Se déplacer sur une autre branche
      3. c. Les branches et le pointeur HEAD
      4. d. Supprimer une branche
    2. 2. Récapitulatif des commandes vues dans cettesection
  9. La fusion ou merge de branches dans Git
    1. 1. Les principaux types de fusion
      1. a. Le fast-forward merge
      2. b. Le three-way merge
      3. c. Le squash and merge
    2. 2. Le rebase and merge
      1. a. Faire un rebase and merge
      2. b. Justification du rebase and merge
    3. 3. Les conflits lors d’un merge
      1. a. Résoudre un conflit de merge dans VisualStudio Code
      2. b. Gérer les conflits dans un dépôtdistant
    4. 4. Récapitulatif des commandes vues dans cettesection
  10. Conclusion
Travailler avec un dépôt distant sur GitLab
  1. Introduction
  2. Interagir avec le dépôt distant d’un projet GitLab
    1. 1. Créer un nouveau projet
    2. 2. Configurer l’accès SSH à GitLab
  3. Comprendre l’opération de clonage
    1. 1. Cloner un dépôt distant via SSH
    2. 2. Cloner un dépôt distant via HTTPS
    3. 3. Autres options pour récupérer undépôt distant
    4. 4. Créer un dépôt distant à partird’un dépôt local
      1. a. Comprendre l’alias « origin »
      2. b. Les fonctionnalités d’un dépôtdistant
    5. 5. Récapitulatif des commandes vues dans cettesection
  4. Comprendre les notions de « push » et « pull »
    1. 1. Faire un « push » desdonnées vers un dépôt distant
    2. 2. Mettre à jour un dépôtlocal
      1. a. Utiliser la commande git fetch
      2. b. Utiliser la commande git pull
    3. 3. Récapitulatif des commandes vues dans cettesection
  5. Utiliser les fonctionnalités Git de GitLab
    1. 1. Les options du menu Code
      1. a. Les branches
      2. b. Les branches protégées
      3. c. Les outils de visualisation des commits
      4. d. Les étiquettes
      5. e. Les extraits de code
    2. 2. Récapitulatif des commandes vues dans cettesection
  6. Découvrir les options d’édition
    1. 1. Édition à partir de la page d’accueild’un dépôt
    2. 2. Édition à partir d’un fichierspécifique
  7. Conclusion
Organiser et suivre son travail dans GitLab
  1. Introduction
  2. Organiser son travail autour de projets et de groupes
    1. 1. Comprendre la notion de projet
    2. 2. Explorer les projets publics
    3. 3. Autres manières de créer un projet
      1. a. Créer un projet à partir d’unmodèle
      2. b. Ajouter un projet par bifurcation (fork)
    4. 4. Paramètres d’un projet
      1. a. Nommage, description, sujets
      2. b. Visibilité, fonctionnalités du projet,autorisations
      3. c. Badges numériques
      4. d. Services d’assistance
      5. e. Paramètres avancés
    5. 5. Comprendre la notion de groupe
      1. a. Créer un groupe et y ajouter un projet
      2. b. Inviter des utilisateurs à partir d’ungroupe
    6. 6. Paramètres d’un groupe
      1. a. Paramètres généraux
      2. b. Paramètres avancés
  3. Planifier et suivre son travail dans GitLab
    1. 1. Comprendre la notion de ticket
      1. a. Créer un nouveau ticket
      2. b. Composants d’un ticket ouvert
      3. c. Consulter les tickets
    2. 2. Travailler avec des labels
    3. 3. Travailler avec les tableaux des tickets
    4. 4. Travailler avec les jalons
  4. Faire une requête de fusion
    1. 1. Créer une nouvelle branche à fusionner
    2. 2. Fusionner une branche dans une autre
  5. Autres fonctionnalités d’organisation du travail
    1. 1. Les GitLab Pages
    2. 2. Le Wiki
  6. Conclusion
Les pipelines CI/CD dans GitLab
  1. Introduction
  2. Définition de la notion de pipeline
    1. 1. La notion d’étape d’unpipeline
      1. a. Les trois étapes principales
      2. b. La définition explicite des étapes
    2. 2. La notion de job d’un pipeline
      1. a. Les jobs et l’exécution de commandes
      2. b. Les jobs et les GitLab Runners
    3. 3. Les modes de déclenchement d’unpipeline
    4. 4. Travailler avec les pipelines dans GitLab
      1. a. Les outils pour visualiser l’étatdes pipelines
      2. b. Le contrôle d’exécutiondes pipelines
    5. 5. Un seul pipeline par projet
  3. Les deux parties d’un pipeline
    1. 1. La partie intégration continue (CI)
      1. a. Le shift left et la collaboration
      2. b. Exemples de tests effectués dans la partieCI
    2. 2. La partie livraison ou le déploiement continus(CD)
      1. a. Les environnements de déploiement
      2. b. Le déploiement manuel ou automatisé
      3. c. Exemples de règles de déploiementdans la partie CD
      4. d. Les environnements de révision GitLab
  4. Comprendre le fichier .gitlab-ci.yml
    1. 1. Qu’est-ce que le YAML ?
    2. 2. La syntaxe du YAML
      1. a. L’indentation
      2. b. Les paires clés-valeur
      3. c. Les listes
      4. d. Les commentaires
      5. e. Les dictionnaires
  5. Exemple de pipeline Hello world
    1. 1. Présentation du fichier .gitlab-ci.yml
    2. 2. Voir un pipeline en cours d’exécution
    3. 3. Analyse de la sortie d’un job
    4. 4. Consulter la liste et l’état despipelines
      1. a. L’onglet Pipelines
      2. b. Consulter la liste des pipelines
      3. c. Les principaux états des pipelines
  6. Créer un premier fichier de configuration de pipeline
    1. 1. Indications sur l’utilisation des composants
    2. 2. Le mot-clé default
    3. 3. Le mot-clé stage
      1. a. Les étapes définies par défaut
      2. b. Les étapes spéciales .pre et .post
      3. c. Quelques points à retenir sur les étapes
    4. 4. Le mot-clé script
      1. a. Structure de données du mot-clé script
      2. b. Les mots-clés before_script et after_script
    5. 5. Comprendre l’interdépendance desjobs
      1. a. Exemple de jobs sans déclaration de dépendance
      2. b. Le mot-clé dependencies
      3. c. Le mot-clé artifacts
      4. d. Consulter la liste des artéfacts
    6. 6. Le mot-clé image
      1. a. Utilisation au niveau global
      2. b. Utilisation au niveau local
      3. c. Spécifier la version d’une image
      4. d. Le mot-clé entrypoint
      5. e. Le mot-clé pull_policy
  7. Contrôler l’exécution des pipelines
    1. 1. Empêcher l’exécution d’unpipeline
    2. 2. Les mots-clés de contrôle d’exécution
  8. Autres modes de déclenchement des pipelines
    1. 1. L’exécution manuelle
    2. 2. L’exécution planifiée
    3. 3. L’exécution avec une étiquetteGit
    4. 4. Autres types d’exécution
  9. Conclusion
Travailler avec les GitLab Runners
  1. Introduction
  2. Comprendre la notion de GitLab Runner
    1. 1. Définition d’un GitLab Runner
    2. 2. L’application GitLab Runner
    3. 3. Les plateformes supportées
    4. 4. Les pipelines et le fonctionnement d’un runner
    5. 5. De l’enregistrement à l’exécutiondes jobs
    6. 6. Les processus d’un runner
  3. Les trois types de GitLab Runners
    1. 1. Les runners de projet
    2. 2. Les runners de groupe
    3. 3. Les runners d’instance
  4. Comprendre la notion d’exécuteur
    1. 1. Les types d’exécuteurs
    2. 2. Les exécuteurs Docker
      1. a. Docker Engine
      2. b. Docker Machine
    3. 3. L’exécuteur Kubernetes
      1. a. Méthodes de connexion à un cluster
      2. b. Complexité de l’exécuteurKubernetes
    4. 4. Les exécuteurs de type hyperviseur
    5. 5. Les exécuteurs basés sur un hôte
      1. a. L’exécuteur Shell
      2. b. L’exécuteur SSH
    6. 6. Les exécuteurs personnalisés
  5. Comprendre la notion d’étiquette
    1. 1. Attribuer une étiquette à un runner
    2. 2. Les étiquettes des runners partagés
  6. Installer et enregistrer un GitLab Runner
    1. 1. Installation sur un poste de travail Windows
      1. a. Créer un nouveau runner de projet
      2. b. Télécharger et installer le runner
      3. c. Enregistrer le runner
    2. 2. Exécuter le pipeline pour tester le runner
  7. Sécurité et surveillance des GitLab Runners
    1. 1. La sécurité et les exécuteurs
    2. 2. La protection des données sensibles
    3. 3. La surveillance des runners
    4. 4. Consulter les logs des runners
  8. Optimiser la performance des GitLab Runners
    1. 1. La taille et les modes de clonage d’un dépôt
      1. a. Récupération incrémentale(incremental fetching)
      2. b. Clone Git superficiel (Git shallow clone)
    2. 2. La performance selon le type de runner
      1. a. Utilisation des runners de projet
      2. b. Utilisation des runners de groupe
    3. 3. La mise en cache et la conservation des artéfacts
      1. a. Optimiser la performance avec la mise en cache
      2. b. Optimiser la performance avec les artéfacts
  9. Conclusion
Analyser et tester son code source
  1. Introduction
  2. Compilation et interprétation du code source
    1. 1. Les types de langages
      1. a. Les langages compilés
      2. b. Les langages interprétés
      3. c. Les langages hybrides
    2. 2. La différence entre la compilation et lebuild
    3. 3. États du code source analysé
    4. 4. Exemple de compilation d’une fonction enGo
      1. a. Écrire une fonction "Hello, World!"
      2. b. Créer le fichier .gitlab-ci.yml
      3. c. Exécuter le pipeline
      4. d. L’artéfact généré parle job
  3. Analyser la qualité du code source
    1. 1. Abandon de l’outil natif d’analysede la qualité du code
    2. 2. Utilisation d’outils spécifiquesd’analyse du code
    3. 3. Comprendre la couverture de code
    4. 4. Analyse de la syntaxe et linting du fichier .gitlab-ci.yml
      1. a. Valider le pipeline
      2. b. Échantillon de CI/CD Lint
  4. Exemple d’analyse d’un script Python
    1. 1. Écrire une fonction pour générerun mot de passe
    2. 2. Préparer l’environnement
    3. 3. Écrire le fichier .gitlab-ci.yml
      1. a. Analyser la qualité du code avec pylint
      2. b. Analyser le typage avec mypy
      3. c. Trois tests unitaires avec pytest
    4. 4. Exemple de test de fuzzing
  5. Autres types de tests
    1. 1. Les tests de charge
    2. 2. Les tests de performance de navigateurs
    3. 3. Les tests d’accessibilité web
  6. Conclusion
Travailler avec les registres et les environnements
  1. Introduction
  2. Les registres intégrés de GitLab
    1. 1. Les registres du menu Deploiement
    2. 2. Les registres du menu Opération
  3. Travailler avec le registre de paquets
    1. 1. Définition du registre de paquets
    2. 2. Les formats de paquets supportés
    3. 3. S’authentifier auprès du registre
      1. a. Créer un jeton de déploiement
      2. b. Stocker le mot de passe dans une variable
      3. c. Commande curl pour s’authentifier au registre
    4. 4. Construire et publier un paquet dans le registre
    5. 5. Utiliser un paquet stocké dans le registre
  4. Travailler avec le registre de conteneurs
    1. 1. Définition du registre de conteneurs
    2. 2. Les formats d’image de conteneur supportés
    3. 3. S’authentifier auprès du registre
    4. 4. Construire et publier une image dans le registre
    5. 5. Utiliser une image stockée dans le registre
  5. Travailler avec les registres d’infrastructure
  6. Travailler avec les environnements
    1. 1. Définition d’un environnement
    2. 2. Créer un nouvel environnement
    3. 3. Créer un environnement de révision
    4. 4. Sécurisation des secrets de déploiement
    5. 5. Déploiements dans un cluster Kubernetes
      1. a. Le déploiement CI/CD traditionnel
      2. b. Le déploiement avec l’approche GitOps
  7. Conclusion
Sécuriser son code source : le volet DevSecOps
  1. Introduction
  2. Le fonctionnement des analyseurs de sécurité
    1. 1. Le mode d’exécution des analyseurs
    2. 2. Les analyseurs et les langages de programmation
    3. 3. Les analyseurs et l’exécution despipelines
    4. 4. L’intégration d’analyseurstiers
    5. 5. Les politiques de sécurité
  3. L'analyse de type SAST
    1. 1. Fonctionnement de l’analyseur
    2. 2. Activer l’analyseur en mode graphique
    3. 3. Activer l’analyseur en mode manuel
    4. 4. Configurer l’analyseur
  4. La détection de secrets
    1. 1. Fonctionnement de l’analyseur
    2. 2. Activer l’analyseur
    3. 3. Configuration de l’analyseur
  5. L’analyse de type DAST
    1. 1. Fonctionnement de l’analyseur
    2. 2. Activer et configurer l’analyseur
  6. L’analyse des dépendances
    1. 1. Fonctionnement de l’analyseur
    2. 2. Activer et configurer l’analyseur
  7. L’analyse des conteneurs
    1. 1. Fonctionnement de l’analyseur
    2. 2. Activer et configurer l’analyseur
  8. L’analyse de l’Infrastructure as Code
    1. 1. Fonctionnement de l’analyseur
    2. 2. Exemple de fichier Terraform à tester
    3. 3. Activer et configurer l’analyseur
  9. L’analyse de conformité des licences
    1. 1. Fonctionnement de l’analyseur
      1. a. Consulter la liste des licences d’un projet
      2. b. Définir une politique de conformité
    2. 2. Consulter les résultats de l’analyse
  10. Les autres types d’analyseurs de sécurité
    1. 1. Test à données aléatoiresguidées par couverture de code
    2. 2. Test de l’API par injection de donnéesaléatoires
    3. 3. Protection contre les poussées secrètes
  11. L’intégration d’analyseurs de sécurité tiers
  12. Les outils de surveillance des vulnérabilités
    1. 1. Tableau de bord de sécurité
    2. 2. Rapport de vulnérabilités
    3. 3. Centre de conformité et événementsd’audit
    4. 4. Les onglets des pipelines
  13. Conclusion
Aller plus loin avec les pipelines CI/CD
  1. Introduction
  2. Optimiser l’exécution des pipelines avec les variables
    1. 1. Le rôle des variables
    2. 2. Le mode d’utilisation des variables
    3. 3. Les types de variables
      1. a. Les variables prédéfinies
      2. b. Les variables définies par l’utilisateur
      3. c. Les variables définies au niveau du groupe
      4. d. Les variables définies au niveau du pipeline
      5. e. Les variables définies au niveau d’unrunner
      6. f. Les variables propres à un langage spécifique
    4. 4. La portée des variables
      1. a. Les variables globales
      2. b. Les variables de prépipeline
      3. c. Les variables spécifiques à un job
      4. d. Les variables spécifiques à un script
  3. Contrôler l’exécution avec les règles
    1. 1. Le rôle des règles dans les pipelines
    2. 2. La structure conditionnelle des règles
    3. 3. Tableau des opérateurs disponibles pour lesrègles
      1. a. L’exécution d’un job surune branche spécifique
      2. b. L’exécution d’un job enfonction d’une variable
      3. c. L’exécution d’un job siun fichier existe
      4. d. L’exécution d’un job siun fichier a changé
      5. e. Utiliser des expressions régulièresdans les règles
  4. Optimiser la performance des pipelines
    1. 1. Les pipelines basés sur le modèleDAG
      1. a. Fonctionnement des pipelines DAG
      2. b. Créer un pipeline DAG
    2. 2. L’exécution en parallèlede plusieurs jobs
      1. a. Fonctionnement du parallélisme
      2. b. Le parallélisme multienvironnement
      3. c. Le parallélisme pour dupliquer un job spécifique
    3. 3. Les pipelines parent-enfant
      1. a. Fonctionnement des pipelines parent-enfant
      2. b. Créer un pipeline parent-enfant
    4. 4. Les pipelines multiprojets
      1. a. Fonctionnement des pipelines multiprojets
      2. b. Créer un pipeline multiprojet
    5. 5. Les pipelines structurés en plusieurs fichiersYAML
      1. a. Fonctionnement des pipelines à plusieursfichiers YAML
      2. b. Créer un pipeline à plusieurs fichiersYAML
    6. 6. Le contrôle de l’héritagedans les pipelines
      1. a. Fonctionnement du contrôle de l’héritage
      2. b. Empêcher l’héritage devariables
      3. c. Désactiver l’héritage pardéfaut d’un pipeline enfant
      4. d. Empêcher l’héritage pardéfaut des étapes
      5. e. Héritage des paramètres par défaut
  5. L’utilisation du cache dans un pipeline
    1. 1. La différence entre le cache et les artéfacts
    2. 2. Utiliser un cache dans un pipeline
      1. a. Mise en cache de fichiers pour un job
      2. b. Partage d’un cache entre plusieurs jobs
      3. c. Gestion des stratégies de téléchargementet téléversement
    3. 3. Configurer un backend de cache dans le cloud
  6. Travailler avec les ancres YAML
    1. 1. Le fonctionnement des ancres YAML dans GitLab
    2. 2. Définir et réutiliser une ancreYAML
    3. 3. Combiner les ancres YAML avec extends
  7. Conclusion
Construire un pipeline CI/CD de bout en bout
  1. Introduction
  2. Prérequis techniques
  3. Présentation de Terraform
    1. 1. Les notions de state et de provider
    2. 2. Le workflow Terraform
    3. 3. Un outil d’Infrastructure as Code
    4. 4. Changement de licence et naissance d’OpenTofu
    5. 5. Installer Terraform
      1. a. Windows
      2. b. macOS
      3. c. Linux
  4. Préparation de l'environnement
    1. 1. Structurer le dépôt de notre projet
    2. 2. Utiliser l’extension HashiCorp Terraform
    3. 3. Utiliser l’extension GitLab ou GitLab CLI
  5. Créer les fichiers de configuration Terraform
    1. 1. Organisation et fonctionnement des fichiers .tf
    2. 2. Le langage de configuration HCL
    3. 3. Brève présentation de la syntaxedu HCL
      1. a. Blocs
      2. b. Paires clé-valeur
      3. c. Accolades
      4. d. Listes et objets
      5. e. Interpolation
    4. 4. Définir le provider dans le fichier providers.tf
      1. a. Fonctionnement général d’unprovider
      2. b. Fonctionnement du provider « azurerm »
    5. 5. Configurer le backend dans le fichier providers.tf
      1. a. Fonctionnement général du backend
      2. b. Fonctionnement du backend GitLab
      3. c. Interactions avec le backend GitLab
    6. 6. Configurer l’accès au backend GitLaben local
      1. a. Créer un jeton d’accèspersonnel dans GitLab
      2. b. Fonctionnement du jeton d’accèspersonnel
    7. 7. Configurer l’accès au backend avecterraform init
    8. 8. Déclarer les variables dans le fichier variables.tf
    9. 9. Assigner les valeurs dans le fichier terraform.tvars
    10. 10. Définir les ressources dans le fichier main.tf
      1. a. Création du groupe de ressources
      2. b. Configuration du réseau
      3. c. Création de la machine virtuelle
      4. d. Installation et enregistrement du GitLab Runner
      5. e. Fonctionnement du fichier main.tf
    11. 11. Définir des sorties dans le fichier outputs.tf
  6. Autres fichiers nécessaires au projet
    1. 1. Créer un fichier .gitignore
    2. 2. Créer un fichier .env pour travailler enlocal
  7. Création d’un Service Principal et d’un Secret
    1. 1. Créer un Service Principal et un Secret
    2. 2. Configurer les permissions ARM API
  8. Ajout de variables d’environnement dans GitLab
    1. 1. Créer les variables d’environnementARM
    2. 2. Créer les variables d’environnementSSH et GitLab
      1. a. Créer un jeton d’enregistrementde GitLab Runner
      2. b. Fonctionnement des variables d’environnementGitLab
  9. Création du fichier de configuration du pipeline
    1. 1. Créer le fichier .gitlab-ci.yml
    2. 2. Construire pas à pas le fichier .gitlab-ci.yml
      1. a. Déclaration de l’image Docker à utiliser
      2. b. Définition des variables d’environnement
      3. c. Gestion du cache
      4. d. Commande exécutée avant chaque job
      5. e. Définition des étapes du pipeline
      6. f. Initialisation de Terraform
      7. g. Validation des fichiers Terraform
      8. h. Génération d’un plan d’exécutionTerraform
      9. i. Application du plan Terraform (déploiement)
      10. j. Suppression des ressources Terraform (manuel)
    3. 3. Vérifier le déploiement sur MicrosoftAzure
    4. 4. Vérifier l’enregistrement du GitLabRunner
    5. 5. Ajouter des jobs d’analyse du code source
      1. a. Créer un pipeline enfant pour les analysesdu code source
      2. b. Modifier le fichier .gitlab-ci.yml
    6. 6. Ajouter des étapes de sécurisationdu code source
      1. a. Créer un pipeline enfant pour les scannersde sécurité GitLab
      2. b. Modifier le fichier .gitlab-ci.yml
  10. Conclusion
GitLab à l'ère de l'intelligence artificielle
  1. Introduction
  2. GitLab et l’intelligence artificielle
    1. 1. L’assistant GitLab Duo
    2. 2. La fonctionnalité GitLab Duo Chat
    3. 3. Autres fonctionnalités propulséespar l’IA
    4. 4. Le partenariat de GitLab Duo avec Amazon Q
  3. Le lancement du AI for Economic Opportunity Fund
  4. Le support pour les approches AIOps et MLOps
  5. Conclusion : l’avenir de GitLab avec l’IA
Auteur : Luc BRETON

Luc BRETON

Luc BRETON travaille depuis plusieurs années dans les domaines de l'administration système et du cloud computing avec une orientation DevOps. Après avoir été consultant en informatique, il a été également conseiller en infrastructure technologiques pour deux ministères du gouvernement du Québec. Il occupe aujourd'hui un poste d'administrateur système et cloud computing pour une grande chaîne de pharmacies québécoise. Passionné par la transmission de connaissance, il est également l'auteur d'un ouvrage sur la virtualisation aux Éditions ENI.

En savoir plus

Découvrir tous ses livres

  • La virtualisation avec VMware vSphere 8 Notions fondamentales

Nos nouveautés

voir plus