Un pipeline 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 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é de manière plus rapide et sécurisée. L'automatisation des tests aide également à repérer les dépendances et autres problèmes plus tôt dans le cycle de développement des logiciels, ce qui évite de perdre du temps plus tard. 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 CI/CD offrent de nombreux avantages aux entreprises qui utilisent à la fois des machines virtuelles et des applications cloud-native conteneurisées. Parce qu'elles peuvent intégrer plus rapidement les mises à jour et les modifications du code, les équipes prennent en compte plus régulièrement et efficacement les commentaires et les évolutions métier, avec à la clé une meilleure expérience pour les utilisateurs finaux. 

Les pipelines CI/CD, qui accélèrent et simplifient le développement de logiciels sont liés au modèle DevOps, un ensemble d'idées et de pratiques qui favorisent la collaboration entre les équipes de développement et d'exploitation informatique.

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 faire référence à la distribution continue, qui est le lancement automatique des logiciels dans un référentiel. Elles peuvent aussi faire référence au déploiement continu, qui est l'étape consistant à déployer automatiquement les logiciels en production.

Les pipelines CI/CD organisent 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 liés aux pipelines 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 le lancement des logiciels. Les pipelines peuvent inclure des outils pour la compilation du code, les tests unitaires, l'analyse du code, la sécurisation ou encore la création de fichiers binaires. Pour les environnements conteneurisés, ces pipelines peuvent aussi comprendre un outil de mise en paquet du code dans une image de conteneur à déployer dans un cloud hybride.

Les approches CI/CD et DevOps se concentrent sur l'automatisation des processus d'intégration du code. Elles visent à accélérer le passage d'une idée (par exemple, une nouvelle fonction, une demande d'amélioration ou la correction d'un bogue) 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 négliger la fiabilité.

Ressources Red Hat

Le projet Tekton est un framework Knative qui aide à créer rapidement des pipelines CI/CD cloud-native. Puisqu'il est natif pour Kubernetes, Tekton facilite le déploiement sur plusieurs plateformes cloud ou dans des environnements hybrides.

Le projet Tekton permet de réutiliser des composants dans plusieurs pipelines à l'aide de définitions de ressources personnalisées dans Kubernetes. Il s'appuie sur 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 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.

Lire l'article de blog : Choisir entre Tekton et Jenkins pour les pipelines 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.

La mise en place de contrôles et de tests automatisés au sein des pipelines CI/CD sert à protéger le code et à 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é CI/CD

Red Hat® OpenShift® Pipelines est une solution native pour Kubernetes qui s'appuie sur Tekton et qui s'intègre étroitement à OpenShift et aux outils de développement de Red Hat.Elle permet aux équipes d'administration et de développement de 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.

La solution OpenShift Pipelines est incluse dans toute souscription OpenShift et s'intègre de façon 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 définitions de ressources personnalisées 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 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 CI/CD intégrée
L'affichage pour les équipes de développement, notamment l'interface visuelle de l'outil de création de pipelines, ainsi que 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.
 

Lire la documentation sur Red Hat OpenShift Pipelines

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

Les solutions Red Hat OpenShift et Red Hat OpenShift Pipelines aident les entreprises à améliorer la productivité des équipes de développement, à automatiser les pipelines 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 CI/CD et Kubernetes. Il permet de développer des logiciels plus rapidement et de manière plus sûre et évolutive, sans nuire à 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 la sécurité 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.La gamme 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 développement et jusque dans les pipelines de création et de lancement, pour réaliser des audits et corriger les problèmes de sécurité. Parmi ces solutions figure Red Hat Trusted Profile Analyzer pour la gestion des nomenclatures logicielles et des informations relatives à la correction des vulnérabilités, ainsi que Red Hat Trusted Application Pipeline, qui fournit des définitions de pipeline par défaut et des contrôles de sécurité automatisés pour générer des images de version SLSA (Supply-chain Levels for Software Artifacts) de niveau 3.

Pour automatiser les workflows, la solution Red Hat Ansible® Automation Platform comprend tous les outils nécessaires pour mettre en œuvre l'automatisation dans 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 CI/CD. Et 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 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 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 Red Hat 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é informatique, qu'est-ce que c'est ?

L'observabilité informatique 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