avec tekton introduction aux pipelines cloud natif

18
GENERAL DISTRIBUTION OpenShift - CI/CD 1 Introduction aux pipelines Cloud Natif avec Tekton Félix Roberge Architecte de Solution développement des Applications Octobre, 2021

Upload: others

Post on 15-Feb-2022

10 views

Category:

Documents


0 download

TRANSCRIPT

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

3

Qu’est-ce que le CI/CD Cloud Natif

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

8

OpenShift Pipelines

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

11

Démo

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