Blue Ocean est mort — par quoi le remplacer
Depuis juillet 2026, Blue Ocean ne reçoit plus ni correctifs de sécurité ni évolutions. Voici ce que le projet Jenkins recommande à la place, et comment en migrer sans casser tes liens.
Écrit par Loris Siegenthaler · Créateur de BuildCaptainSi tu fais tourner Jenkins depuis plus de quelques années, tu te souviens du moment où Blue Ocean est apparu. Jenkins ressemblait à un intranet de 2005, et voilà qu'arrivait une visualisation de pipeline avec une vraie typographie, un log enfin lisible et une URL que tu n'avais pas honte d'envoyer à un collègue.
C'était en 2016. La documentation Jenkins affiche désormais un avertissement sans détour : « Blue Ocean will be deprecated in July 2026. It will not receive further security fixes or functionality updates. » Cette date est passée. Blue Ocean reste installé sur un très grand nombre de contrôleurs, surtout parce qu'aucun remplaçant ne s'imposait à l'évidence. Il en existe pourtant un. Voici l'état des lieux, sans langue de bois.
Ce qu'était Blue Ocean
Blue Ocean était une interface alternative complète pour Jenkins. CloudBees a fondé le projet et l'a versé en open source dans l'écosystème Jenkins ; la première version du plugin est sortie en septembre 2016 et la version 1.0 le 5 avril 2017. Il s'installait comme un plugin agrégateur — blueocean tire une vingtaine de composants blueocean-* — et vivait dans son propre espace d'URL sous /blue, entièrement séparé de l'UI classique.
Ce qu'il apportait était réellement en avance sur son temps :
- Une visualisation de pipeline qui dessinait les branches parallèles comme des branches, pas comme un tableau à plat.
- Un visualiseur de logs limité au step concerné, si bien qu'un échec se trouvait en deux clics au lieu d'un Ctrl-F dans 40 000 lignes de sortie console.
- Un tableau de bord personnalisé avec les pipelines que tu avais mis en favoris.
- Un éditeur graphique de pipeline (son propre plugin,
blueocean-pipeline-editor) qui écrivait tonJenkinsfileet le committait dans le dépôt. - Une prise en charge de premier ordre des projets multibranches et des pull requests.

Pourquoi il s'est enlisé
Blue Ocean était une seconde interface, pas une évolution de la première. Tout le problème est là.
Chaque plugin Jenkins qui contribue de l'UI — et une grande partie d'entre eux le font — la contribue à l'UI classique. Blue Ocean ne pouvait afficher que ce que son propre code connaissait, donc tout plugin qui ne lui avait pas été spécifiquement appris n'apparaissait tout simplement pas. En pratique, les équipes utilisaient Blue Ocean pour la vue pipeline et repassaient à l'UI classique pour la configuration, les identifiants, la gestion des plugins et la moitié de leurs plugins de reporting. Deux UI, dont une définitivement incomplète.
Dessous, c'était une grosse application React avec sa propre chaîne de build, son arbre de dépendances et son rythme de release, maintenue pour l'essentiel par un seul éditeur. En novembre 2019, CloudBees a annoncé sur la liste de diffusion des utilisateurs Jenkins qu'il ne croyait plus que Blue Ocean était « le véhicule le plus approprié » pour les évolutions dont Jenkins avait besoin, et qu'il se contenterait désormais de « traiter sélectivement les problèmes de sécurité significatifs et les défauts fonctionnels ». C'est du mode maintenance, énoncé noir sur blanc, et c'est le statu quo depuis — des releases sortent encore au compte-gouttes, mais personne n'a livré de fonctionnalité depuis des années. La dépréciation de juillet 2026 est la fin officielle du travail de sécurité lui-même.
Ce qui vieillit mal si tu le gardes
Rien ne désactive Blue Ocean. Il continuera de tourner. Mais une interface non maintenue de cette taille se dégrade de façons précises et prévisibles :
- Plus aucun correctif de sécurité. C'est le point décisif. Une grosse application JavaScript avec un arbre de dépendances figé, explicitement exclue de tout travail de sécurité futur, vit à l'intérieur du périmètre de confiance de ton serveur de CI.
- L'éditeur de pipeline est le maillon faible. La syntaxe déclarative a continué d'évoluer ; la compréhension qu'en a l'éditeur, non. « Je l'ai ouvert dans l'éditeur, j'ai enregistré, et il a réécrit mon pipeline », c'est un après-midi de perdu, et il ne reste personne pour réparer l'aller-retour.
- Son arbre de dépendances pèse. Une vingtaine de plugins
blueocean-*portent leurs propres exigences, et ils sont une source récurrente de blocages de versions pendant les mises à jour. - Il est invisible pour tout ce qui est nouveau. Tout ce qui a été ajouté à Jenkins ou à ses plugins depuis que Blue Ocean s'est arrêté n'existe pas dans
/blue.
Le remplaçant : Pipeline: Graph View
Le plugin vers lequel pointe le projet Jenkins — dans la même note de documentation qui annonce la dépréciation, puis à nouveau dans son billet « Plugin of the Month » d'avril 2026, qui le qualifie de « successeur naturel et léger » — est Pipeline: Graph View (pipeline-graph-view). Il reprend la visualisation de pipeline de Blue Ocean, la partie que tout le monde utilisait vraiment, et l'affiche dans l'UI classique de Jenkins plutôt que dans une application parallèle.
Installe-le depuis Manage Jenkins → Plugins → Available et redémarre. Vérifie d'abord ta version de Jenkins : les versions récentes du plugin exigent un core assez à jour (2.541.3 au moment où nous écrivons), et c'est voulu — il est construit sur l'UI moderne du core, pas autour d'elle.
Ce que tu obtiens :
- Une vue Stages sur chaque build à
/job/<name>/<build>/stages/: le graphe des étapes avec les étapes séquentielles de gauche à droite, les branches parallèles en vrais chemins parallèles, les étapes imbriquées dans leurs parents, le tout coloré selon le résultat. - Les logs par step dans la même vue. Clique sur l'étape en échec, obtiens les steps, déplie celui qui a cassé. C'est exactement la façon de travailler de Blue Ocean, de retour dans l'UI classique.
- La mise à jour en direct pendant que le build tourne.
- Un graphe multi-builds au niveau du job à
/job/<name>/multi-pipeline-graph/.

Parce qu'il vit dans l'UI classique, tout le reste de la page de build — rapports de tests, artefacts, couverture, tout ce que tes autres plugins apportent — s'affiche à côté du graphe au lieu d'être à une navigation de distance. C'est exactement le problème que Blue Ocean n'a jamais pu résoudre.
L'option plus ancienne : Stage View
Pipeline: Stage View (pipeline-stage-view) est antérieur à Blue Ocean, sort toujours activement des versions et fait un autre travail : sur la page du job, il affiche les étapes en colonnes et les builds récents en lignes, chaque cellule colorée selon le résultat, avec sa durée.
Comme vue de tendance, il est excellent. Dix builds côte à côte rendent évident que « Integration Tests » ralentit depuis un mois — ce qu'aucun graphe de build isolé ne te montrera jamais. Comme vue de débogage, il est maigre : les étapes parallèles et imbriquées s'aplatissent maladroitement, la popup de log par étape est minimale, et un pipeline de trente étapes produit un tableau qu'on fait défiler latéralement sans fin.
Ce sont des compléments, pas des concurrents. Stage View sur la page du job pour la tendance, Graph View sur la page du build pour le détail. Beaucoup d'instances font tourner les deux, et elles ont raison.
Ce que le Jenkins moderne t'offre de toute façon
L'autre chose qui a changé, c'est que l'UI classique s'est remise en mouvement. Les deux billets « Redesigning Jenkins » de Jan Faracik (mars et juillet 2025) documentent le travail : une vraie bibliothèque de design à la place du style ad hoc, l'antique boîte à outils JavaScript YUI désactivée par défaut dans la 2.492.1 avec environ 85 000 lignes de code supprimées, LESS migré vers SCSS, et dans la 2.516.1 la barre supérieure et le fil d'Ariane fusionnés en un seul en-tête. Il y a désormais un sélecteur de thème intégré, thème sombre compris.
Ce n'est pas une refonte à couper le souffle. Mais l'écart qui rendait Blue Ocean nécessaire — « l'UI par défaut est inutilisable » — est bien plus étroit qu'avant, et le travail profite à l'UI à laquelle chaque plugin contribue déjà. C'est la différence stratégique, et c'est pourquoi la réponse du projet à « qu'est-ce qui remplace Blue Ocean » est « l'UI principale, plus Graph View » plutôt que « voici encore une seconde interface ».
Surveiller ses pipelines hors du navigateur
Une chose qu'aucun plugin ne résout : tout cela vit dans un onglet de navigateur que tu dois penser à ouvrir. Une page qui montre une étape rouge n'aide que si tu la regardes — c'est pourquoi « que s'est-il passé dans ce build ? » est bien couvert et « est-ce que quelque chose est cassé en ce moment ? » ne l'est pas.
Cartes sur table, puisque c'est notre site : BuildCaptain est notre app. C'est un client Jenkins natif pour la barre des menus macOS — épingle les pipelines qui comptent pour toi et leur statut s'affiche dans la barre des menus, une notification native arrive quand l'un d'eux échoue ou se rétablit, et un clic ouvre le graphe des étapes avec les étapes imbriquées et parallèles, les logs par step et les commandes lancer, arrêter et relancer dans une fenêtre native. Il lit la structure des pipelines via le plugin Pipeline Graph View : c'est donc un compagnon de la migration décrite ici, pas une alternative. Si ton problème est « la page de build est mauvaise », installe Graph View. Si ton problème est « j'apprends les échecs trop tard », c'est l'app que nous avons construite pour ça.

Migrer hors de Blue Ocean en toute sécurité
L'ordre compte, parce que blueocean est un agrégateur et que ses composants dépendent les uns des autres.
- Installe d'abord Pipeline: Graph View et utilise-le pendant une semaine. Active ses options d'affichage (voir la note plus haut), puis laisse l'équipe confirmer que les vues dont elle dépendait ont un équivalent. C'est aussi là que tu découvres quel favori ou quel script dépend d'une URL
/blue. - Trouve les utilisateurs de l'éditeur de pipeline. Quiconque édite des
Jenkinsfilevia Blue Ocean a besoin d'un point de chute — un IDE, plus le générateur de snippets Pipeline Syntax intégré, lié depuis chaque job pipeline, qui construit interactivement des appels de steps corrects. Il n'existe pas de remplaçant graphique, et prétendre le contraire n'aide personne. - Vérifie ce que fait d'autre
blueocean-display-url. Ce composant implémente la Display URL API, qui décide quel lien Jenkins met dans les notifications, les e-mails et les statuts de commit. Avec Blue Ocean installé, ces liens pointent vers/blue; le retirer les renvoie vers l'UI classique. Attendu, mais surprenant si tu n'y as pas pensé — et bon à annoncer avant que quelqu'un signale que « les liens Slack ont changé ». - Désinstalle l'agrégateur, puis balaie les restes. Dans Manage Jenkins → Plugins → Installed, filtre sur
blueocean. Retire d'abord le pluginblueoceande tête ; Jenkins refuse de retirer ce dont un autre plugin dépend encore, alors travaille de l'extérieur vers l'intérieur et répète le filtre jusqu'à ce que la liste soit vide. Quelques dépendances transitives partagées resteront, légitimement. - Redémarre et lis les logs. Manage Jenkins → System Log te dira vite si quelque chose était encore lié à un point d'extension retiré.
Sauvegarde d'abord — JENKINS_HOME, ou au minimum plugins/ et config.xml. Les désinstallations de plugins ne sont pas transactionnelles, et pouvoir remettre le répertoire en place vaut bien cinq minutes.
Les URL changent
Les URL de build de Blue Ocean ressemblent à ceci :
/blue/organizations/jenkins/my-app/detail/my-app/42/pipeline
Le quatrième segment est le nom de la branche pour un projet multibranche, et le nom du job sinon. Les équivalents dans l'UI classique sont les URL ordinaires de job et de build, avec les vues du plugin de graphe accrochées dessus :
/job/my-app/42/ # the build page
/job/my-app/42/stages/ # the stage graph and per-step logs
/job/my-app/multi-pipeline-graph/ # the job-level graph across builds
Les jobs imbriqués dans des dossiers répètent le segment job/ — /job/platform/job/my-app/42/ — alors que Blue Ocean aplatissait cette hiérarchie. Tout ce qui détient un lien /blue enregistré (pages de wiki, messages de chat épinglés, scripts qui appellent l'API REST de Blue Ocean sous /blue/rest/) doit être mis à jour. Greppe ta doc interne à la recherche de /blue/ avant de retirer le plugin, pas après.
Le résumé honnête
Blue Ocean avait raison sur le problème et structurellement tort sur la solution. Une seconde interface ne pouvait pas suivre un écosystème de milliers de plugins qui contribuent tous à la première.
Ce qui prend sa place est moins spectaculaire et nettement plus durable : Pipeline: Graph View pour la visualisation qui te manque vraiment, Stage View pour la tendance à travers les builds, et une UI principale améliorée sur place plutôt que contournée. Ajoute de quoi être prévenu des échecs sans avoir à surveiller un onglet, et tu retrouves tout ce que Blue Ocean avait de réellement regretté — sous une forme qui sera encore maintenue l'an prochain.
BuildCaptain