Connexion / Inscription Account

DEVOPS

Un pipeline CI/CD, qu'est-ce que c'est ?

Jump to section

Un pipeline CI/CD est une série d'étapes à réaliser en vue de distribuer une nouvelle version d'un logiciel. Les pipelines d'intégration et de distribution continues (CI/CD) désignent une pratique qui consiste à améliorer la distribution de logiciels à l'aide de l'approche DevOps ou de l'ingénierie de la fiabilité des sites (SRE).

Un pipeline CI/CD utilise la surveillance et l'automatisation pour améliorer le processus de développement des applications, en particulier lors des phases d'intégration et de tests ainsi que pendant la distribution et le déploiement. Même s'il est possible d'exécuter manuellement chacune des étapes, tout l'intérêt de ce pipeline réside dans son automatisation.

Éléments d'un pipeline CI/CD

Les étapes qui constituent un pipeline CI/CD sont des sous-ensembles distincts de tâches regroupés dans ce que nous appelons une phase de pipeline. Voici les phases de pipeline les plus courantes :

  • Création : compilation de l'application.
  • Test : test du code. L'automatisation permet ici d'épargner du temps et des efforts.
  • Lancement : distribution de l'application au référentiel.
  • Déploiement : déploiement du code en production.
  • Validation et conformité : ces étapes de validation sont à adapter en fonction des besoins de votre entreprise. Des outils d'analyse de la sécurité des images tels que Clair peuvent garantir la qualité des images en les comparant à des vulnérabilités (CVE) connues.
     

Cette liste de phases de pipeline n'est en aucun cas exhaustive. Il s'agit simplement d'un exemple des phases les plus courantes que vous pouvez rencontrer. Votre pipeline devra se conformer aux exigences de votre entreprise.

Conteneurs et pipelines CI/CD

Les systèmes CI/CD traditionnels sont conçus pour les pipelines qui utilisent des machines virtuelles. Or, le développement d'applications cloud-native présente des avantages pour les pipelines CI/CD. À quoi ressemble un pipeline CI/CD avec conteneurs ?

Grâce au projet Open Source Tekton, vous pouvez créer des pipelines de distribution de type Kubernetes capables de contrôler le cycle de vie des microservices dans son intégralité, sans faire appel à des équipes centrales pour la gestion et la maintenance d'un serveur, de plug-ins et d'une configuration d'intégration continue.

Pipelines OpenShift

Les pipelines OpenShift sont une fonction de Red Hat OpenShift basée sur Tekton, un projet Open Source qui fournit une structure pour créer rapidement des pipelines cloud-native CI/CD. Tekton est une structure CI/CD pour les plateformes Kubernetes qui offre une expérience CI/CD cloud-native standard avec conteneurs. En tant que structure native pour Kubernetes, Tekton facilite le déploiement entre plusieurs fournisseurs de cloud ou environnements hybrides. Il s'appuie sur le plan de contrôle et les définitions de ressources personnalisées (CRD) de Kubernetes pour exécuter les tâches des pipelines. Conforme aux spécifications standard de l'industrie, Tekton est compatible avec les outils CI/CD existants tels que Jenkins, Jenkins X, Skaffold et Knative.

Les éléments de base pour votre pipeline CI/CD

Red Hat Openshift

Plateforme Kubernetes de conteneurs qui permet d'accélérer le déploiement d'applications cloud-native.

Red Hat Ansible Automation Platform

L'approche CI/CD nécessite un codage personnalisé et le recours à des paquets logiciels multiples. Red Hat Ansible Automation Platform est un langage d'automatisation Open Source qui rassemble ces fonctionnalités.

Vous ne savez pas encore tout sur l'approche CI/CD…