Skip to main content

Intégration Continue (CI)

L'intégration est est début de la phase de l'automatisation de la chaine de création de valeur.
Ici, nous mettons en place en une toolchain de Build pour controller et valider la qualité de nos livrables à chaque changement de code.

Pourquoi

L'Intégration Continue (CI) permet de créer rapidement de la valeur pour ses clients. En ce sens qu'elle permet de réduire le time to market. Nous permettant ainsi de concerver notre position stratégique sur le marché.
Pour être efficace, tout ce processus doit se faire en reduisant au strict minimum les interventions humaines.
Pour se faire, il faut penser Automatisation.

Comment

Un contributeur du projet (un développeur) est responsable d'une fonctionnalité. Celui travaille en local sur sa machine au travers d'une branche feature.
Après avoir fini son travail (code + test unitaire), il fait une demande de fusion de sa branche vers la branche principale du projet (main). Cette demande est appelée pull request.

La validation de cette demande de fusion entrainera le déclenchement d'une série d'actions qui vont permettre de:

  • Validation la structure des changements
  • Lancement des tests de control de non regression
  • Vérification de la qualité des changements
  • Création d'un artefact de livraison
  • Sauvegarde de l'artefact (image DOCKER) dans un registre

Il est également ppossible de procéder à des scan de vulnérabilité sur l'image et en cas de détection de vulnérabilité, une alerte est envoyé aux personnes identifiée.

Tout ceci se fait au travers d'outils d'intégration continue tels que:

  • GitLab CI
  • Github Actions
  • Azure DevOps
  • Jenkins

Avantages

Avec l'Intégration Continue, donc au fil de l'eau, l'on augmente considérablement cadance de livraison tout augmentation la qualité, la sécurité et fiabilité de notre produit.