Overblog Tous les blogs Top blogs Technologie & Science Tous les blogs Technologie & Science
Editer l'article Suivre ce blog Administration + Créer mon blog
MENU

Blog des équipes technique d'M6Web Lyon

JenkinsLight, mettez en lumière vos jobs Jenkins

Nov 20 2013, Written by: M6Web

JenkinsLight, mettez en lumière vos jobs Jenkins

L’idée de JenkinsLight a germé lorsque nous nous sommes fait taper sur les doigts pour la troisième fois (à juste titre) parce qu’on avait désactivé la publicité sur nos sites de chaîne lors d’une mise en production. Or la publicité est un point critique car reliée directement au chiffre d’affaires. Le pire est que nous testions le bon fonctionnement de la publicité en intégration continue sur nos serveurs de preprod, avant la mise en production. Mais une configuration légèrement différente sur les serveurs de prod rendait le nouveau code instable. Cette situation rend donc impossible la détection de certaines anomalies avant la mise en production…

D’où notre besoin d’avoir un tableau de bord nous permettant de vérifier à chaque instant la disponibilité des fonctionnalités névralgiques de nos sites en production afin de réagir au plus vite en cas de problèmes. Et ce, avant même que l’anomalie ne nous soit remontée par les autres secteurs. Nous avions déjà nos tests dans Jenkins que nous avons fait pointer vers la prod. Il nous manquait donc juste une sorte de “Panic Board” sur un écran placé au sein de nos bureaux nous remontant rapidement le moindre problème sur nos sites en production.

Nous avons créé JenkinsLight dont le rôle n’est autre que d’afficher distinctement le statut des jobs d’une vue Jenkins en quasi temps réel. Le projet utilise AngularJS et l’API de Jenkins pour récupérer les informations nécessaires. L’installation se fait sur n’importe quel serveur web et requiert uniquement Bower pour installer les composants. Afin de permettre à l’API d’être appelée en crossdomain (CORS), il est également nécessaire d’installer un plugin spécifique sur votre serveur Jenkins.

L’application propose quelques variables de configuration éditables dans le fichier "app/scripts/config.js" permettant de spécifier :

  • l’url du serveur Jenkins,

  • l’identification au serveur (si nécessaire),

  • la vue Jenkins par défault,

  • les types de jobs affichés,

  • le nombre de jobs par ligne sur l’écran,

  • l’intervalle de rafraîchissement (en millisecondes).

JenkinsLight est un side-project de la Team Cytron. Il est disponible en open-source sur le compte GitHub de M6Web.

Enjoy !

Publicité

Partager cet article

 

Commenter cet article