Blog Produit Premiers pas avec GitLab : comprendre l'approche CI/CD
Mise à jour : May 26, 2025
Lecture : 6 min

Premiers pas avec GitLab : comprendre l'approche CI/CD

Découvrez tout ce que vous devez savoir sur l’approche CI/CD grâce à ce guide dédié aux débutants.

Getting started with GitLab cover

Imaginez un cycle de développement logiciel dans lequel chaque modification de code est automatiquement compilée, testée, puis déployée auprès de vos utilisateurs. C'est tout l'intérêt de l'approche CI/CD (intégration continue/livraison continue) qui vous aide à détecter les bogues à un stade précoce, garantit la qualité du code et vous permet de livrer des logiciels plus rapidement et plus fréquemment.

Qu'est-ce que l'approche CI/CD ?

  • L'intégration continue est une pratique de développement qui consiste à fusionner régulièrement les modifications apportées au code dans un dépôt partagé, de préférence plusieurs fois par jour, afin qu'elles soient vérifiées via un processus automatisé de compilation et de tests. Les équipes de développement peuvent ainsi détecter rapidement les problèmes et conflits éventuels.
  • La livraison continue complète l'intégration continue en automatisant le pipeline pour la sortie de nouvelles versions. À tout moment, l'application reste déployable vers un environnement donné (par exemple, préproduction, production), en un seul clic ou par le biais d'un déclenchement automatique.
  • Le déploiement continu pousse encore plus loin la logique d’automatisation. Chaque compilation réussie est directement mise en production, sans validation manuelle. Ce niveau d'automatisation requiert une confiance totale dans vos tests automatisés et vos processus de déploiement.

Pourquoi choisir GitLab CI/CD ?

Entièrement intégré à la plateforme GitLab, GitLab CI/CD est un système puissant, qui permet d'automatiser facilement chaque étape de votre cycle de développement logiciel. Avec GitLab CI/CD, vous pouvez notamment :

  • Automatiser l'intégralité de votre cycle de développement : compilation, tests, déploiement, tout peut être orchestré via le pipeline CI/CD.
  • Détecter les bogues en amont : les problèmes sont identifiés et corrigés bien avant d’atteindre l'environnement de production.
  • Obtenir des retours immédiats : les équipes de développement obtiennent un retour rapide sur leurs modifications de code.
  • Renforcer la collaboration : les workflows automatisés fluidifient le travail en équipe.
  • Accélérer la livraison : les livraisons de nouvelles versions sont plus rapides et plus fréquentes.
  • Réduire les risques : les erreurs de déploiement et les retours en arrière sont considérablement réduits.

Quels sont les principaux composants de GitLab CI/CD ?

  • .gitlab-ci.yml : ce fichier YAML, situé dans le répertoire racine de votre projet, définit l'ensemble du pipeline CI/CD, y compris les étapes, les jobs et les runners.
  • GitLab Runner: cet agent exécute les jobs CI/CD sur l'infrastructure de votre choix (par exemple, machines physiques, machines virtuelles, conteneurs Docker ou clusters Kubernetes).
  • Étapes: elles définissent l'ordre d'exécution des jobs (par exemple, compilation, tests et déploiement).
  • Jobs: chaque job représente une unité de travail spécifique exécutée lors de l'étape correspondante (par exemple, compiler du code, exécuter des tests ou déployer dans l'environnement de préproduction).

Comment configurer GitLab CI ?

GitLab CI est très facile à prendre en main. Voici un exemple basique de fichier .gitlab-ci.yml :


stages:
  - build
  - test
  - deploy

build_job:
  stage: build
  script:
    - echo "Building the application..."

test_job:
  stage: test
  script:
    - echo "Running tests..."

deploy_job:
  stage: deploy
  script:
    - echo "Deploying to production..."
  environment:
    name: production

Cette configuration définit trois étapes : « compilation », « test » et « déploiement ». Chaque étape contient un job qui exécute un script simple.

Exemples de configuration CI/CD

Explorons quelques exemples plus concrets.

Création, compilation et déploiement d'une application Node.js

Prenons l'exemple du pipeline ci-dessous qui compile et teste une application Node.js à l'aide de npm, puis la déploie sur Heroku via dpl. L'étape de déploiement du pipeline utilise des variables GitLab CI/CD, qui permettent de stocker des informations sensibles (par exemple, des identifiants de connexion) et de les utiliser en toute sécurité dans les processus CI/CD.

Dans cet exemple, une clé API pour déployer l'application sur Heroku est stockée sous le nom de variable $HEROKU_API_KEY, cette clé étant utilisée par l'outil dpl.


stages:
  - build
  - test
  - deploy

build:
  stage: build
  image: node:latest
  script:
    - npm install
    - npm run build

test:
  stage: test
  image: node:latest
  script:
    - npm run test

deploy:
  stage: deploy
  image: ruby:latest
  script:
    - gem install dpl
    - dpl --provider=heroku --app=$HEROKU_APP_NAME --api-key=$HEROKU_API_KEY

Déploiement vers différents environnements (préproduction et production)

GitLab propose également la gestion des environnements au sein du pipeline CI/CD pour suivre les déploiements vers des cibles d'infrastructure. Dans l'exemple ci-dessous, le pipeline ajoute des étapes avec une propriété « environnement » pour les environnements de préproduction et de production. Alors que l'étape deploy_staging exécute son script automatiquement, l'étape deploy_production nécessite une approbation manuelle afin d'éviter tout déploiement accidentel en production.


stages:
  - build
  - test
  - deploy_staging
  - deploy_production

build:
  # ...

test:
  # ...

deploy_staging:
  stage: deploy_staging
  script:
    - echo "Deploying to staging..."
  environment:
    name: staging

deploy_production:
  stage: deploy_production
  script:
    - echo "Deploying to production..."
  environment:
    name: production
  when: manual  # Requires manual approval

GitLab Auto DevOps

GitLab Auto DevOps simplifie encore plus l'approche CI/CD en fournissant une configuration prédéfinie pour compiler, tester et déployer automatiquement vos applications. Cette suite de fonctionnalités tire parti des bonnes pratiques et des normes du secteur pour rationaliser votre workflow.

Pour activer Auto DevOps :

  1. Accédez à Paramètres > CI/CD > Pipelines généraux.
  2. Activez l'option Auto DevOps.

Auto DevOps détecte automatiquement le langage et le framework de votre projet et configure les étapes de compilation, de tests et de déploiement nécessaires. Il est donc inutile de créer un fichier .gitlab-ci.yml.

Catalogue CI/CD

Le catalogue CI/CD est une liste de projets contenant des composants CI/CD publiés par la communauté, que vous pouvez utiliser pour optimiser votre workflow CI/CD. Vous pouvez y contribuer en ajoutant vos propres composants ou en enrichissant ceux déjà existants. Les composants publiés dans le catalogue CI/CD sont disponibles sur GitLab.com.

Tutoriel : Comment configurer votre premier composant GitLab CI/CD

Templates CI

Vous pouvez également créer vos propres templates CI afin de standardiser et de réutiliser les configurations de vos pipelines CI/CD entre plusieurs projets. Cette pratique favorise la cohérence et réduit les doublons.

Pour créer un template CI :

  1. Créez un fichier .gitlab-ci.yml dans un projet ou un dépôt dédié.
  2. Définissez la configuration CI/CD souhaitée dans ce template.
  3. Dans le fichier .gitlab-ci.yml, utilisez le terme include pour inclure ce template.

Optimisez votre processus de développement

GitLab CI/CD transforme en profondeur votre workflow de développement de logiciels. En maîtrisant ses concepts, en configurant efficacement vos pipelines CI/CD et en tirant parti de fonctionnalités tels qu'Auto DevOps, le catalogue CI/CD et les templates CI, vous pouvez automatiser l'ensemble de votre cycle de développement logiciel et livrer des logiciels de haute qualité plus rapidement et plus efficacement.

Vous souhaitez approfondir vos connaissances ? Inscrivez-vous aux cours disponibles sur le portail GitLab University.

Essayez GitLab Ultimate gratuitement pendant 60 jours.

Articles de la série « Premiers pas avec GitLab »

Découvrez les autres articles de notre série « Premiers pas avec GitLab » :

Votre avis nous intéresse

Cet article de blog vous a plu ou vous avez des questions ou des commentaires ? Partagez vos réflexions en créant un nouveau sujet dans le forum de la communauté GitLab. Partager votre expérience

Lancez-vous dès maintenant

Découvrez comment la plateforme DevSecOps unifiée de GitLab peut aider votre équipe.

Commencer un essai gratuit

Découvrez le forfait qui convient le mieux à votre équipe

En savoir plus sur la tarification

Découvrez ce que GitLab peut offrir à votre équipe

Échanger avec un expert