Jenkins, le serveur d'automatisation Open Source populaire utilisé par des équipes de développement de par le monde pour des pipelines d'intégration et de livraison continue, a récemment annoncé la disponibilité générale de Blue Ocean 1.0.
Après l'annonce initiale du projet en Mai 2016, James Dumay a annoncé de manière formelle la publication et a fourni un aperçu des nouvelles fonctionnalités dans un récent billet de blog :
Blue Ocean est une manière entièrement nouvelle, moderne et amusante pour les développeurs d'utiliser Jenkins qui a été construite depuis l'origine pour aider les équipes de toutes tailles à approcher la Livraison Continue. Facilement installé comme un plugin Jenkins et intégré avec Jenkins Pipeline, il est disponible dès aujourd'hui pour une utilisation en production. Depuis les débuts de la béta à Jenkins World 2016 en septembre, il y a maintenant plus de 7 400 installations qui utilisent Blue Ocean. Cela ne serait pas possible sans le soutien de l'intégralité des développeurs et des utilisateurs de Jenkins.
Les nouvelles fonctionnalités comprennent :
- Editeur de pipeline : créez des pipelines de livraison continue du début à la fin en utilisant un éditeur de pipeline visuel intuitif.
- Visualisation de pipeline : représentez les pipelines de manière visuelle, éclairant sur le processus de livraison continue à travers l'organisation complète.
- Diagnostic de pipeline : localisez les problèmes d'automatisation instantanément sans devoir constamment analyser les logs ou naviguer à travers de nombreux écrans.
- Tableau de bord personnalisé : possibilité pour un utilisateur de personnaliser le tableau de bord pour voir uniquement les pipelines qui lui importent.
- Intégration Github : les pipelines sont exécutés pour toutes les branches et les pull requests, leur statut copié sur Github, de sorte que l'équipe sache si les changements nécessitent du travail ou sont ok.
Le nom Blue Ocean est basé sur l'ouvrage "Stratégie de l'Océan Bleu" et l'intention du projet est proche des concepts évoqués dans celui-ci :
Le monde s'est déplacé des outils de développement purement fonctionnels aux outils de développement qui font partie d'une "expérience de développeur". C'est-à-dire qu'il ne s'agit plus d'un unique outil mais d'outils multiples que le développeur utilise toute la journée et comment ils collaborent pour réaliser un workflow qui bénéficie à ce dernier. Les compagnies d'outils de développement comme Heroku, Atlassian et Github ont augmenté le niveau de ce qui est considéré comme une bonne expérience utilisateur, et les développeurs s'attendent de plus en plus à une conception exceptionnelle. Ces dernières années, les développeurs sont devenus plus rapidement attirés par les outils qui ne sont pas uniquement fonctionnels, mais qui sont conçus pour s'intégrer parfaitement dans leur workflow et qui sont un plaisir à utiliser. Cette tendance représente un standard plus élevé de conception et d'expérience utilisateur et Jenkins doit évoluer pour s'y conformer.
Aucune configuration supplémentaire après installation ne devrait être nécessaire pour les instances actuelles de Jenkins. En raison du fait que la livraison initiale cible la visualisation des pipelines existants, les utilisateurs devront retourner à l'interface utilisateur classique pour la gestion de la configuration ou pour gérer les travaux qui ne sont pas des pipelines, avec pour objectif de diminuer cette contrainte au fil du temps. Les travaux freestyle sont compatibles, mais ne bénéficient d'aucune des nouvelles fonctionnalités de pipeline.
Pour les développeurs Jenkins et les auteurs de plugins, la nouvelle version introduit un nouveau "Langage de Conception Jenkins", une chaîne d'outils JavaScript moderne, des points d'extension côté client et les Server Side Events.
Blue Ocean est disponible pour toutes les instances Jenkins (version 2.7 ou supérieure). Il est installé sous forme de plugin et permet de retourner à l'interface utilisateur classique de Jenkins si nécessaire. Alternativement, le projet Jenkins met à disposition un container Docker pré-configuré avec Blue Ocean.