Ch’ti JUG Quickies: Zoom sur la création de Workflows avec Jenkins

Ce 20 Mai, Salto Consulting ne pouvait pas manquer le Ch’ti Jug à Lille 1. Au programme, des thèmes très attractifs et un nouveau format : les Quickies, des présentations ultra-rapides de 15 minutes.

Cela faisait déjà 2 bonnes raisons de nous déplacer en nombre (en fait 3 avec le buffet, mais chut !)

Pour l’occasion, nous étions 7 Saltos sur place, dont Nicolas Mervaillie, expert technique, qui nous a fait l’honneur d’être le 4ème Speaker de la soirée.

Après sa présentation sur Neo4J l’an dernier (à retrouver ici : https://www.parleys.com/tutorial/neo4j-rex-24-avril-2014), il nous avait cette fois concocté une intervention sur le micro-benchmarking. Nous y reviendrons lors d’un prochain article.

Voici les sujets du soir :

  • Les Webjars : utiliser Maven pour les librairies JS/CSS par Amaury Willemant
  • La création de workflows avec Jenkins par Nicolas Géraud
  • CSS pour les nuls par Hubert Sablonniere
  • Micro-benchmark avec JMH par Nicolas Mervaillie
  • Testez en toute Sérénité par Guillaume Wallet

 

Penchons-nous sur la création de workflows avec Jenkins, le sujet qui a particulièrement retenu notre attention lors de ce JUG.

Le but de la présentation de Nicolas Géraud était de créer un workflow permettant d’orchestrer les différents jobs Jenkins liés à un projet. L’intérêt est de brancher les jobs (build, déploiement, test, …) d’un projet ensemble et de les déclencher sous certaines conditions.

Pour cela, il nous a présenté 2 solutions :

Solution 1 : Utilisation de 2 plugins Jenkins

Conditional BuildStep Plugin

https://wiki.Jenkins-ci.org/display/JENKINS/Conditional+BuildStep+Plugin

Build Pipeline Plugin

https://wiki.Jenkins-ci.org/display/JENKINS/Build+Pipeline+Plugin

Avec cette première solution, on configure nos différents jobs comme on en a l’habitude. On crée le lien entre les jobs Jenkins via le plugin Conditional BuildStep qui permet de spécifier les jobs à déclencher et sous quelles conditions. On obtient ainsi notre workflow.

Quant au plugin Pipeline, il permet de visualiser dans Jenkins le workflow défini précédemment, sous la forme d’un graphe.

Solution 2 : Utilisation du plugin Jenkins:

Workflow-plugin

https://wiki.Jenkins-ci.org/display/JENKINS/Workflow+Plugin

C’est le nouveau plugin pour créer des workflows dans Jenkins, mis en avant  par CloudBees.

Ici on décrit la configuration de nos jobs et le workflow à l’aide d’un DSL Groovy. Tous nos jobs sont désormais exprimés dans un script Groovy.

Ce plugin change nos habitudes de configuration des jobs avec les formulaires classiques en se focalisant sur le côté DSL. Cela nous autorise une plus grande souplesse dans l’écriture d’un workflow, de profiter de la puissance de Groovy et de versionner nos workflows. Tous les plugins Jenkins ne fonctionnent pas encore avec le DSL, mais un grand nombre est déjà disponible (git, Maven, …).

L’aspect visualisation offert de base est assez rudimentaire, il faut passer par la version Entreprise pour obtenir une visualisation du workflow sous forme de graphe.

En conclusion, Nicolas Geraud a réalisé une présentation fluide et efficace, qui nous a convaincus et nous a donné envie de creuser le sujet.

Après ces 5 Quickies très intéressants, nous nous dirigeons vers le buffet du sponsor pour… faire le bilan de la soirée bien sûr : un format appréciable à un rythme soutenu, c’est agréable quand on vient juste chercher des pistes de réflexion, et qu’on n’a pas forcément l’opportunité de creuser chaque sujet en détail.

Les speakers étaient clairs et efficaces, merci à eux.

Et bien sûr merci au Ch’ti Jug pour leur accueil, nous serons évidemment présents pour la prochaine session !

Maxime Decronambourg