Présentation des pipelines OpenShift

Le 3 mai 2021, Red Hat a publié la première version publique d'OpenShift Pipelines, un système d'intégration continue basé sur le cloud basé sur le projet open source Tekton . La solution implémente le framework Kubernetes CI / CD pour le développement et l'exécution de pipelines, dans lequel chaque étape s'exécute dans son propre conteneur, permettant aux étapes d'évoluer indépendamment les unes des autres. Aujourd'hui, nous allons jeter un coup d'œil aux principales caractéristiques et avantages de cette solution, ainsi que fournir une liste de ressources supplémentaires pour une meilleure connaissance et une maîtrise de celle-ci.





Mais avant de passer à OpenShift Pipelines, revoyons les concepts de base de Tekton.





Concepts de base du CI / CD natif de Kubernetes

OpenShift Pipelines augmente Kubernetes / OpenShift avec des CRD (ressources définies par l'utilisateur) appropriés pour les concepts CI / CD tels que pipeline, tâche, étape. En conséquence, ces concepts deviennent instanciables «natifs» - ils peuvent être créés en tant qu'instances distinctes et, par conséquent, entièrement mis à l'échelle et déployés, ainsi que garantir leur sécurité à l'aide des outils Kubernetes.





Par conséquent, pour commencer, rappelons-nous ce que sont les concepts de Tekton:





Figure.  1. Concepts de Tekton
Figure. 1. Concepts de Tekton

Fondamentalement, les concepts de base de Tekton se déclinent en deux versions: ceux qui définissent le pipeline et ceux qui démarrent le pipeline.





Concepts qui définissent un pipeline





  • Task – (step), , , .





  • Pipeline – (Task), .





, (run pipelines)





  • TaskRunTask.





  • PipelineRun – , TaskRun.





.





, OpenShift Pipelines





OpenShift Pipelines?

OpenShift Container Platform – Kubernetes- , , CI/CD.





OpenShift Pipelines - Tekton OpenShift , .





OpenShift Pipelines Operator

OpenShift Pipelines , , , , .





OpenShift Pipelines OperatorHub, 450 OpenShift Container Platform:





OpenShift Pipelines , , :





OpenShift Pipelines OpenShift CR, OpenShift ..





OperatorHub OpenShift Pipelines, , .





UI OpenShift

Tekton OpenShift CI/CD, YAML-, , . Red Hat OpenShift UI ( , , , ), . YAML- , - .





, OpenShift, :





Figure.  2. Pipelines dans la console OpenShift
. 2. OpenShift

:





, OpenShift Pipelines OpenShift, YAML, Tekton:





Figure.  3. Conception graphique du convoyeur dans la console OpenShift
. 3. OpenShift

, YAML, - , OpenShift:





Figure.  4. YAML - exemples et extraits dans la console OpenShift
. 4. YAML – OpenShift

, OpenShift Pipelines , YAML, YAML. , , . CRD ConsoleYAMLSamples.





( Tekton Trigger), , push- pull- Github Gitlab? , OpenShift Pipelines , , Github, Gitlab, BitBucket ..





Figure.  5. Ajout d'un déclencheur dans la console OpenShift
. 5. OpenShift

UI, OpenShift , EventListeners, TriggerTemplates ( ).





OpenShift Pipelines , , , , java, dotnet core, python go, nodejs maven, .. OpenShift, ClusterTasks, Pipelines -> Tasks:





Figure.  6. OpenShift Pipelines propose des dizaines de tâches prêtes à l'emploi.
. 6. OpenShift Pipelines

, . «ClusterTasks» , TektonHub, Tekton:





Figure.  7. TektonHub - référentiel public des tâches et pipelines Tekton réutilisables
. 7. TektonHub – Tekton

IDE

, IDE, Tekton CLI, Tekton Visual Studio Code Tekton IntelliJ, , , .





Figure.  8. Extension VSCode pour les pipelines OpenShift
. 8. VSCode OpenShift Pipelines

:





(EN):





  • Red Hat OpenShift Pipelines OpenShift GitOps





  • C OpenShift Pipelines





  • OpenShift Pipelines





  • OpenShift Pipelines





  • Siamak Sadeghianfar, - OpenShift Pipelines





  • Guide to OpenShift Pipelines Red Hat OpenShift





:









  • Tekton ( )





:





  • 1 . Red Hat Advanced Cluster Security –

     Red Hat Advanced Cluster Security, . Red Hat BCC , Advanced Cluster Security , . « » , , ,





  • 17 . 

    ,  OpenShift  Helper Node Day-2,  -, , , OpenShift .





  • OpenShift Serverless ( )





  • OpenShift Virtualization ( )





  • Cloud native apps design ( )





  • 10  ( )








All Articles