Pipeline CI/CD : définition
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, accélérer et sécuriser 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.
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 ?
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-nativeCI/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.