[devfest nantes 2016] les pipelines jenkins dans la vraie vie

Post on 22-Jan-2017

110 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Les Pipelines Jenkinsdans la vraie vie

Jean-Philippe Briend

About me

Jean-Philippe Briend

@jpbriend Java expert,Pèlerin DevOps,Automation addict

DevOps,

Continuous Delivery,

Software Craftmanship

jbriend@cloudbees.com

About CloudBees

We are

The hub of Enterprise Jenkins and DevOps

We deliver

Smarter solutions for accelerating software development and delivery

We make a difference

We are the leader in Continuous Delivery for DevOps

Why this is important

You can focus on coming up with great ideas, we take care of the mundane tasks.

Développeur ?

Exploitation ?

Testeur ?

Chef de projet ?

Vous

Faites de l’Intégration Continue ?

Vous voulez faire du déploiement automatisé ?

Avez un pipeline end-to-end ?

Avez un composant unique ?

Avez un plat de spaghettis de composants à livrer ?

Vous

Qui ?

Pour jouer ?

Utilisé dans la vraie vie ?

Jenkins 2 et Pipeline

Personne n’est parfait !

Bonne nouvelle !

Qui utilise Jenkins ?

Comment livrer plus rapidement du meilleur code ?

ProdDev

Un processus • qui s’assure de la qualité• s’exécute de façon fiable• produit de la valeur rapidement

Il nous faut

pour automatiser

Il nous faut

un pipeline

Il nous faut

Un pipeline linéaire typique

Les jobs Jenkins Pipeline !

Type de job Pipeline

Progression et historique

“Ce qui est bien mais pas top”

Pipeline optimisé

Pipeline Stage View

On a fini ?

Commit

Lancer le process

Vérifier la qualité

et releaser !!!

attends attends attends…

Composant unique

ou microservice

Les tests sont complets

C’est releasable de façon indépendante

Ne casse pas la compatibilité ascendante

Uniquement valable si

Un système est composé d’une multitude d’applications/composants

Sauf que

ayant des dépendances

Les nouvelles fonctionnalitésfournies par de nouvelles interfacesnécessitent des versions minimum

Tests de chaine ?

Quid des tests de performance ou tests fonctionnels ?

Mais aussi

Et les cas des systems embarqués ?

Il faut fournir une image complète contenant tous les composants

???

Assembly build

Release pipeline

Release Pipeline

Encore une étape manuelle ???

Quelle version ?

Mauvais build = régression

Et si on utilisait un trigger automatique depuis le job amont ?

Utilisez la commande build

Mais il nous faut le numéro de build de

chaque composant

On pourrait trouver qqchose dans

Jenkins…

Inspecter la version déployée ?

n. cargo-list for use of Customs officers; list of passengers in aircraft or of trucks etc. in goods train

Oxford English Dictionary

Manifest

Que met-on dans un manifest ?la liste des composants et leur version

#Tue Mar 01 23:11:41 GMT 2016mobile-deposit-api=1.0.0-21mobile-deposit-ui=1.0.0-4

Read / Write manifest ?

Où stocker ce manifest ?

Jenkins Build workspace ?SCM ?Jenkins Build artifact ?External file system ?Artifact repository ?

Fini ?

Jenkins sait mettre les jobs en attente

Gestion de la concurrence des stages Pipeline

La Concurrency Rule saute les builds

Ca va marcher avec les SCMs

Utiliser les builds paramétrés

Etapes supplémentaires ?

Mise à jour du manifest asynchrone par rapport au build

de Release

63

manifest-update

release-build

Exécuter le déploiement

Tout redéployer ?

Comparer à ce qui tourne

Comparer au manifest

manifest

updates

Demo

Pipelines ≠ linéaires

Assembler de multiples composants

Pattern fan-in

Déclencher des jobs downstream

Suivre avec des manifests

top related