GENERAL DISTRIBUTION
OpenShift - CI/CD
1
Introduction aux pipelines Cloud Natif avec Tekton
Félix RobergeArchitecte de Solution développement des ApplicationsOctobre, 2021
GENERAL DISTRIBUTION
2
Intégration Continue (CI) & Livraison Continue (CD)
Build Test Security Checks Release Déployé en
DevDeployé en
Prod
CI
CD
GENERAL DISTRIBUTION
4
Qu’est-ce que le CI/CD Cloud Natif
Construit en pensant aux équipes distribué et aux
microservices
ConteneursConstruit pour les conteneurs
et roule sur Kubernetes
ServerlessRoule de façon serverless sans
infrastructure ou engin de CI/CD à gérer et maintenir
DevOps
GENERAL DISTRIBUTION
Pourquoi le CI/CD Cloud Natif
5
CI/CD Traditionnel CI/CD Cloud Natif
Conçu pour les Machines Virtuel Conçu pour les conteneurs et Kubernetes
Besoin de IT Ops pour la maintenance de l’engin CI Pipeline as a service, aucun surplus Ops
Plugins partagé entre les engins CI Pipelines totalement isolé les unes des autres
Plugins avec cycle de mise à jour non défini Tout est un cycle de vie d’un image de conteneur
Aucune interopérabilité avec les ressources Kubernetes Resources Kubernetes native
Persistance géré par les administrateurs La plateforme gère la persistance
Configuration incluse dans le conteneur de l’engin CI Configuration réside dans des configMap de Kubernetes
GENERAL DISTRIBUTION
Pourquoi le CI/CD Cloud Natif
6
CI/CD Traditionnel CI/CD Cloud Natif
Conçu pour les Machines Virtuel Conçu pour les conteneurs et Kubernetes
Besoin de IT Ops pour la maintenance de l’engin CI Pipeline as a service, aucun surplus Ops
Plugins partagé entre les engins CI Pipelines totalement isolé les unes des autres
Plugins avec cycle de mise à jour non défini Tout est un cycle de vie d’un image de conteneur
Aucune interopérabilité avec les ressources Kubernetes Resources Kubernetes native
Persistance géré par les administrateurs La plateforme gère la persistance
Configuration incluse dans le conteneur de l’engin CI Configuration réside dans des configMap de Kubernetes
GENERAL DISTRIBUTION
7
Governed by the Continuous Delivery FoundationContributions from Red Hat, Cloudbees, IBM, Google, Pivotal and many more
An open-source project for providing a set of shared and standard components for building Kubernetes-style CI/CD systems
GENERAL DISTRIBUTION
9
OpenShift Pipelines
Pipelines déclarative
Kubernetes Natif avec Tekton
Standard et portable sur toute
plateforme Kubernetes
Exécution des pipelines dans des conteneurs
isolé avec tout les dépendances requises.
Serverless CI/CD Aucun serveur
unique à partager ou maintenir
Web, CLI, Visual Studio Code et
IDE plugins
Powered by
10
OpenShift Pipelines
● Basé sur Tekton
● CI/CD déclaratif Kubernetes-native
● Pipelines exécuté sur demande sur des conteneurs isolé
● Aucun serveur central à maintenir. No central server to maintain! Aucun conflits de plugins!
● Intégré avec le Tekton Hub
● Pipeline sécurisé aligné avec le RBAC de Kubernetes
● Installation et mise à jour via le OperatorHub
● CLI, Web, Plugin VS Code et IntelliJ
GENERAL DISTRIBUTION
12
Concepts Tekton
StepCommande ou script exécuter
dans un container
TaskUne liste de steps exécuté de façon
séquentiel dans le même pod
PipelineUne séquences de tasks
exécuté dans un certain ordre.
Task RunL’exécution d’une task avec
ses inputs et outputs
Pipeline RunExécution d’un pipeline avec
ses inputs et outputs
ConditionUne vérification déterminant
si une task doit être exécuté
Pipeline ResourceInputs et outputs d’une task
et pipeline (git, image, ...)
CatalogUne collection de task
réutilisable.Tekton Catalog
TriggersUn sous projet de Tekton pour
démarrer un pipelines à partir d’
évènement.
GENERAL DISTRIBUTION
Demo - Partie 1
13
Task - Clone
Step
...
Step
...
Task - Test
Step
...
Step
...
Task - Build
Step
...
Step
...
Task - Image
Step
...
Step
...
Task - Deploy
Step
...
Step
...
Pipeline
Pipeline Resources
GENERAL DISTRIBUTION
Demo - Partie 2
14
Task - Clone
Step
...
Step
...
Task - Test
Step
...
Step
...
Task - Build
Step
...
Step
...
Task - Image
Step
...
Step
...
Task - Deploy
Step
...
Step
...
Pipeline
Trigger Template
Event Listener
GENERAL DISTRIBUTION
Final
15
Task - Clone
Step
...
Step
...
Task - Test
Step
...
Step
...
Task - Build
Step
...
Step
...
Task - Image
Step
...
Step
...
Task - Deploy
Step
...
Step
...
Pipeline
Pipeline Resources Trigger Template
Event Listener
GENERAL DISTRIBUTION
linkedin.com/in/felixroberge
twitter.com/felixroberge
https://github.com/froberge
16
Mes infos
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHat
Red Hat est le premier fournisseur mondial de
solutions logiciels libres pour entreprises. Des
services d’assistance, de formation et de conseil
primés. Red Hat est un conseiller de confiance pour
le Fortune 500.
Merci !
17
Liens utile
18
● Code de la démo
● Documentation de Tekton
● Tutorial Tekton interactif
● Catalogue Tekton
● Catalogue Pipeline OpenShift