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

Copier l'URL

Un pipeline d'intégration et de déploiement continus (CI/CD) est une série d'étapes précises à réaliser en vue de la distribution d'une nouvelle version d'un logiciel. Les pipelines de CI/CD permettent d'améliorer la distribution des logiciels tout au long du cycle de développement via l'automatisation.

En automatisant ces pipelines lors des phases de développement, de test, de production et de surveillance des logiciels, les équipes peuvent rédiger du code de qualité plus rapidement et de manière plus sécurisée. Avec l'automatisation des tests, il est également possible d'identifier les dépendances et d'autres problèmes plus tôt dans le cycle de vie de développement des logiciels, ce qui permet de gagner du temps par la suite. Même s'il est possible d'exécuter manuellement chacune des étapes, tout l'intérêt de tels pipelines réside dans leur automatisation.

Les pipelines de CI/CD offrent de nombreux avantages aux entreprises qui utilisent à la fois des machines virtuelles et des applications cloud-native basées sur des conteneurs. La possibilité d'intégrer plus rapidement les mises à jour et les modifications du code permet aussi aux équipes d'intégrer les commentaires des utilisateurs et de s'adapter aux évolutions métier de manière régulière et efficace, avec de meilleurs résultats pour les utilisateurs finaux à la clé. 

En plus de rationaliser et d'accélérer le développement de logiciels, les pipelines de CI/CD reflètent la méthode DevOps, un ensemble d'idées et de pratiques qui favorisent la collaboration entre les équipes de développement et d'exploitation.

Dans le sigle CI/CD, les lettres CI correspondent à l'intégration continue, qui englobe la création, les tests et la fusion du code. Les lettres CD peuvent quant à elles faire référence à la distribution continue, qui désigne la publication automatique de logiciels dans un référentiel. Elles peuvent également correspondre au déploiement continu, qui est l'étape consistant à déployer automatiquement les logiciels en production.

Un pipeline de CI/CD guide le processus de développement de logiciels autour des étapes de création, de test et de déploiement du code. L'automatisation des processus qui composent l'approche CI/CD permet aux équipes de développement et d'exploitation de réduire au maximum les erreurs humaines et d'assurer la cohérence pour la mise en production des logiciels. Les pipelines peuvent contenir des outils pour la compilation du code, les tests unitaires, l'analyse du code, la sécurité ou encore la création de fichiers binaires. Pour les environnements conteneurisés, les pipelines peuvent aussi comprendre des outils de mise en paquet du code dans une image de conteneur à déployer dans un cloud hybride.

L'approche CI/CD et le DevOps se concentrent sur l'automatisation des processus d'intégration du code. Elles visent à accélérer la manière dont une idée (par exemple, une nouvelle fonction, une demande d'amélioration ou la correction d'un bogue) passe de la phase de développement à celle du déploiement dans un environnement de production où elle peut apporter de la valeur à l'utilisateur. Les équipes de développement, qui travaillent généralement dans un environnement de développement standard, collaborent étroitement avec les équipes d'exploitation informatique pour accélérer la conception des logiciels, les tests et les lancements sans pour autant sacrifier la fiabilité.

Ressources Red Hat

Tekton est un framework basé sur Knative permettant de créer rapidement des pipelines de CI/CD. Puisqu'il est natif pour Kubernetes, Tekton facilite le déploiement sur plusieurs plateformes cloud ou dans des environnements hybrides.

Le framework Tekton permet de réutiliser des composants dans plusieurs pipelines à l'aide de définitions de ressources personnalisées (CRD) dans Kubernetes. Il utilise le plan de contrôle de Kubernetes pour exécuter les tâches du pipeline. Conforme aux spécifications standards du secteur, Tekton est compatible avec les outils de CI/CD existants tels que Knative et OpenShift.

Grâce au projet Tekton, il est possible de 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.

Article de blog : Choisir entre Tekton et Jenkins pour les pipelines de CI/CD sur Red Hat OpenShift

Tout processus accéléré de développement et de déploiement doit être sécurisé pour éviter d'exposer l'entreprise à des risques, notamment la divulgation de données sensibles à des sources externes, l'intégration de code ou de composants tiers non sécurisés, ou un accès non autorisé aux référentiels de code source ou aux outils de compilation.

Des contrôles et de tests automatisés au sein des pipelines de CI/CD permettant de protéger le code et de prévenir les vulnérabilités lors de la distribution des logiciels. L'intégration de la sécurité à un pipeline permet de préserver le code des attaques, d'éviter des fuites de données, de respecter les politiques et d'assurer le contrôle de la qualité. L'identification et l'atténuation des vulnérabilités tout au long du cycle de développement garantissent que les modifications du code sont testées de manière approfondie et qu'elles respectent les normes de sécurité avant leur déploiement en production.

En savoir plus sur la sécurité de l'approche CI/CD

Red Hat® OpenShift® Pipelines est une solution native pour Kubernetes qui s'appuie sur Tekton et permet une intégration étroite à OpenShift et aux outils de développement de Red Hat. Les équipes d'administration et de développement peuvent ainsi créer des modèles de pipeline pour les applications en fonction des besoins spécifiques de l'entreprise et de ses exigences en matière de sécurité.

Parce qu'elle exécute chaque étape du pipeline dans son propre conteneur, la solution OpenShift Pipelines permet la mise à l'échelle indépendante de chacune de ces étapes afin de respecter les exigences du pipeline.

OpenShift Pipelines est disponible avec une souscription OpenShift et offre une intégration native à la console OpenShift, ce qui permet aux équipes de développement de configurer et d'exécuter des pipelines au même endroit que leurs applications.

Fonctions de Red Hat OpenShift Pipelines

Pipelines natifs pour Kubernetes
Les CRD standards de Tekton servent à déterminer les pipelines qui s'exécutent comme des conteneurs et qui évoluent à la demande.

Exécution serverless
L'absence de serveur de CI/CD central à gérer permet de contrôler totalement les plug-ins, le contrôle d'accès et les pipelines de distribution des équipes.

Expérience de CI/CD intégrée
L'affichage pour les équipes de développement, notamment l'outil de création de pipelines, les interfaces en ligne de commande et les environnements de développement intégrés de la console Red Hat OpenShift, offrent une expérience utilisateur rationalisée.
 

Accéder à la documentation sur Red Hat OpenShift Pipelines

Nos spécialistes peuvent aider les entreprises à mettre en place les outils, les pratiques et la culture nécessaires pour moderniser efficacement leurs applications et accélérer le développement d'applications cloud-native.

Red Hat OpenShift, en association avec Red Hat OpenShift Pipelines, aide les entreprises à améliorer la productivité de l'équipe de développement, automatiser les pipelines de CI/CD et déployer leurs efforts de sécurité plus tôt et tout au long du cycle de développement.

Red Hat OpenShift GitOps est un opérateur qui fournit un workflow intégrant des référentiels Git, des outils d'intégration et de distribution continues (CI/CD) et Kubernetes. Il permet de développer des logiciels plus rapidement et de manière plus sûre et évolutive, sans sacrifier la qualité. L'opérateur OpenShift GitOps permet aux clients de créer et d'intégrer des workflows de distribution continue déclaratifs et basés sur Git directement sur leur plateforme de développement d'applications.

Nous proposons également des outils pour renforcer la sécurité des pipelines de CI/CD. La solution Red Hat Advanced Cluster Security for Kubernetes contribue à protéger les charges de travail Kubernetes conteneurisées sur les principales plateformes cloud et hybrides, notamment Red Hat OpenShift, Amazon Elastic Kubernetes Service, Microsoft Azure Kubernetes Service et Google Kubernetes Engine. Red Hat Trusted Software Supply Chain inclut plusieurs solutions axées sur la sécurisation des composants logiciels et des dépendances dès le début du cycle de vie de développement des logiciels et jusque dans les pipelines de création et de lancement, afin de réaliser des audits et de corriger les problèmes de sécurité. De son côté, la solution Red Hat Trusted Profile Analyzer assure la gestion des nomenclatures logicielles et des informations relatives à la correction des vulnérabilités, tandis que Red Hat Advanced Developer Suite intègre d'autres outils de développement pour permettre la signature automatisée, la vérification cryptographique et le suivi de bout en bout de la provenance des artéfacts logiciels.

Pour faciliter les workflows automatisés, la solution Red Hat Ansible® Automation Platform comprend tous les outils nécessaires pour mettre en œuvre l'automatisation dans toute l'entreprise, notamment une solution orientée événements, des analyses et des collections de contenus préconçues. Grâce à son langage courant basé sur YAML et à son approche axée sur l'état souhaité, les équipes peuvent utiliser les mêmes contenus d'automatisation pour les tâches quotidiennes et pour le pipeline de CI/CD. En outre, comme cette solution est compatible avec quasiment tous les aspects de l'infrastructure, il est plus facile et rapide de déployer des environnements de développement, de test et de production cohérents, avec à la clé une hausse de la fiabilité et de la résilience des applications.

La solution Ansible Automation Platform s'intègre également à Red Hat Advanced Cluster Management for Kubernetes pour l'orchestration de clusters Kubernetes dans le pipeline de CI/CD. Elle facilite aussi la création et la maintenance des opérateurs Red Hat OpenShift grâce à un langage d'automatisation lisible par un humain.

Découvrir comment l'automatisation facilite les pipelines de CI/CD

Hub

Le blog officiel de Red Hat

Découvrez les dernières informations concernant notre écosystème de clients, partenaires et communautés.

Tous les essais de produits Red Hat

Profitez de nos essais gratuits de produits pour renforcer votre expérience pratique, préparer une certification ou évaluer l'adéquation d'un produit avec les besoins de votre entreprise.

En savoir plus

L'approche CI/CD, qu'est-ce que c'est ?

L'approche CI/CD (intégration et distribution ou déploiement continus) est une pratique DevOps qui garantit une automatisation et une surveillance continues tout au long du cycle de vie des applications.

L'observabilité, qu'est-ce que c'est ?

L'observabilité fait référence à la capacité de surveiller, mesurer et comprendre l'état d'un système ou d'une application en examinant ses sorties, ses journaux et ses indicateurs de performances.

Le GitOps, qu'est-ce que c'est ?

Le GitOps désigne un ensemble de pratiques de gestion des configurations de l'infrastructure et des applications, qui reposent sur l'utilisation de référentiels Git comme unique source de vérité pour la formalisation déclarative de l'infrastructure.

DevOps : ressources recommandées