Inside Blue Ocean – the new UX that’s getting the Jenkins community excited
To many dev teams, Jenkins is synonymous with continuous integration (CI), automating the mundane tasks of integration, test and build for projects – the very thing founder Kohsuke Kawaguchi created it for, in the underbelly of Sun and Oracle. However, as more organizations adopt Jenkins as their engine for continuous delivery (CD), broader teams with varying degrees of technical skills demand a more bespoke and succinct user interface. We talked to James Dumay, Senior Product Manager at CloudBees and lead contributor to the Jenkins Blue Ocean plugin, about the need for Blue Ocean and what to expect from it in the near future.
To many dev teams, Jenkins is synonymous with continuous integration (CI), automating the mundane tasks of integration, test and build for projects – the very thing founder Kohsuke Kawaguchi created it for, in the underbelly of Sun and Oracle. However, as more organizations adopt Jenkins as their engine for continuous delivery (CD), broader teams with varying degrees of technical skills demand a more bespoke and succinct user interface. This is where Blue Ocean comes in – the widely acclaimed new user interface that makes it easier to find and address the problems that matter to you.
JAXenter: Why did you feel Jenkins needed a facelift?
James Dumay: I wouldn’t call it just a facelift, but of course, the first thing you will notice about Blue Ocean is that brings in a really fresh, modern user experience for Jenkins.
Our goal with Blue Ocean is more than just to perk up Jenkins. Jenkins lives in an ecosystem of developer tools that are constantly changing and competing against each other as the needs of the industry change. For Blue Ocean, it’s important that as the tools in a developer’s toolbox change and the practices change that Jenkins is able to respond and meet the needs of modern developers.
The center piece of Blue Ocean is the pipeline visualization, and it allows the whole team —from developer to the CTO— to understand the flow of their software delivery pipeline, what changes are coming down the pipeline and how to swiftly diagnose problems when things go wrong.
Continuous delivery shouldn’t be just for experts: more and more teams who don’t consider themselves experts are seeing value in the practice too, so the next generation of tools have to be accessible and approachable to those people. Of course, it’s worth mentioning that the classic Jenkins interface isn’t going away — it’s still an extremely important and useful tool for the expert automation practitioner.
JAXenter: How did Blue Ocean come about?
James Dumay: The Jenkins project and CloudBees have collectively had a new user experience on our minds for a few years now, but we hadn’t had a great idea of where to start. All great products need a focus, and a new user experience became the focus as continuous delivery became important – the problems solved by CD are very different to the problems being solved with CI.
Blue Ocean itself was born out of an internal “What if?” project I was hired to develop internally for a cloud product. The commitment to open source at CloudBees runs very deep and it was obvious that this needed to be open source, so our “What if?” quickly evolved into “What if this was the future of Jenkins?” – and here we are!
JAXenter: Who’s Blue Ocean for and why should we try it?
James Dumay: Blue Ocean is built for developers – both beginner and expert alike, to make the best use of continuous delivery. Anyone can create a pipeline and easily visualize it, and Blue Ocean makes it easy to diagnose failures within the pipeline.
We know that developers spend a lot of time staring at large log files when their pipeline breaks, which is why we’ve broken the pipeline log up, step-by-step so that it becomes easier to pinpoint what section of the log has information about the failure.
For developers using Git and feature branches, Blue Ocean will automatically construct a personal dashboard of all the feature branches and pipelines the developer has created to make it easier to get to the things you are most interested in.
That’s just a few of the great examples of value that we are adding to Jenkins. From the feedback we are receiving from developers worldwide, we believe the Blue Ocean UX is really resonating with them. I haven’t seen such unequivocal positive feedback like this before about open source software – it’s really humbling for the team and contributors.
— Luigi Berrettini (@luigiberrettini) May 29, 2016
— Mario Cruz (@mariocruz) May 27, 2016
JAXenter: What’s next for Blue Ocean?
James Dumay: Let me give you an example. Back in the old days, publishing a magazine or editing your own book was something that only the experts could do. With the advent of Apple’s Macintosh, suddenly anyone with a computer could self-publish. The very hard or impossible became very easy because it was so accessible. We want to do the same for any team that wants to improve their time to market using continuous delivery.
And that’s how we’ve approached our Pipeline Editor. It’s an entirely visual way of defining continuous delivery pipelines. Developers break up their pipeline into different stages and parallelize tasks that can occur at the same time. When you are done authoring your pipeline, the pipeline definition is saved back to your repository as a Jenkinsfile. That means your pipeline is always versioned along with your application code in GitHub or Bitbucket.
We’re even making the Jenkins Pipeline language simpler with the new Declarative Pipeline syntax so that it’s easier for the people who prefer the text editor over a visual editor for defining their pipelines. So with Blue Ocean and Declarative Pipeline, it becomes much easier across the board for teams to adopt or extend continuous delivery processes.
The Jenkins community is very innovative and in the future we are looking at ways that Blue Ocean can showcase the value that plugin authors and other contributors have created.
JAXenter: What piece of advice would you give to a developer that wants to try Jenkins with Blue Ocean?
James Dumay: We announced beta availability at Jenkins World 2016, in September. However, our experience already within the community has shown it to be production-worthy. (That said, like with any new piece of software, please install it first in a test environment.) We’ve made it really easy for anyone to install Blue Ocean via a plugin in the update center. Both Blue Ocean and classic Jenkins can live happily, side-by-side.
We are actively listening to users of Jenkins and Blue Ocean to work their feedback into our roadmap. One of the challenges we face is to be compatible with the wide range of configurations of Jenkins servers out there in the wild, so the most valuable feedback we get is when someone has simply installed it on their server and tried it out with their existing setup.
Jenkins users should definitely give it a shot. You can install Blue Ocean today from the Jenkins Update Center on any Jenkins server running 2.7.1 or above.