I am the leader of the Blue Ocean project - feel free to ask me anything :)
This is just the first release of what we hope to be many more in the coming weeks and months. The surface area of Jenkins is _huge_ and we may not have all your use-cases covered - please send us your feedback and feature requests by signing up to https://issues.jenkins-ci.org and submit a new issue under the 'blueocean-plugin' component.
A few things that are coming up soon:
- Support for Github Enterprise
- Full read/write from the Visual Pipeline Editor for any Git
repository (Github is supported today!)
- Visual Pipeline Editor feature parity with Declarative Pipeline
It has improved a lot since I last tried it. Although my team is moving towards Travis for everything except server deployments. Pains me to say since I especially appreciate self-hosting, but Jenkins is still massively behind in everything outside of Blue Ocean. :/
For lots of things that are now basic in all CI/CD systems (email/slack/irc notifications, github login, etc), Jenkins still requires external plugins and/or a ton of setup from the really clunky UI. It's too much :(
What's the plan to resolve this? Is blue ocean going to spread to the other areas of Jenkins?
Can a Jenkinsfile completely obsolete the config.xml that each job has?
Clicking through the gui to create jobs is error-prone, so I'm using jenkins job builder at the moment to create those, but it would be great to just use the one file in tree.
If you are a frontend developer who loves developer tools, has worked with SPAs and React - we've got an opening on the Blue Ocean team at CloudBees https://t.co/6ZP1faehVq
There's a glaring UX issue with Blue Ocean which I'm surprised hasn't been addressed yet: whilst a build is running, the console output forces the page to always scroll to the bottom and it's extremely difficult to stop it from doing this; I end up hitting Home a bunch of times and trying to collapse the console output. It usually takes at least 5 tries to align my mouse cursor with the collapse button before I manage to hit it. Please fix this ASAP.
There are other minor issues I've come across, but since this one is extremely annoying I thought I'd mention it here.
I click on "New Pipeline", enter the GitHub token, select organization, select repository (without Jenkinsfile in it) and then after a while this message shows up:
--
Pipeline Creation Pending...
Pipelines are still waiting to be created.
You may now return to the Dashboard to check for new pipelines.
--
I don't see any errors in the log file or in the browser console.
Any insights?
EDIT: In the traditional UI, I see a new job was created for my GitHub organization but it has no repositories (probably due to missing Jenkinsfile?)
I had to click the "Show more" button on Blue Ocean 10x until I reached the end of my job list (when I was looking for this new pipeline that would have been created).
Glad it is GA now, but it is still has some issues:
* If i use non core parameter in pipeline, BO ask me to move to classic interface
* If i do not use Github like pipeline, interface become partially useless. It means empty branches, empty PR columns etc. Where is good old custom pipelines?
But anyway it is good move forward!
PS: pipelines itself also has some issues, like really small number of useful steps, literally only sh step used everytime. Also in case of custom pipeline it is still unclear how to abort build in code. And using groovy collections methods is veyr inconvinient (like trying to use .collect to create command like options for next sh step)
I haven't tested Blue Ocean yet but have used Jenkins previously, I'm currently using your competitor Travis and switched mainly because it's so much easier to get started with for a small project (which usually then grows bigger).
From the pictures the new jenkins looks much more pleasant on the eyes but how would you rank it's competitiveness with Travis when it comes to getting started with your testing the first time?
Will reconsider Jenkins in my next project as it seems like you are taking UX seriously!
Can you explain how the visual pipeline editor is supposed to work, because the documentation for it is essentially non existent. The version I have installed after upgrading to blue ocean 1 seems to be .2 It doesn't seem to be able to edit pipelines in any way. If I switch to experimental version 1, I get a pipeline editor that basically allows me to view source, but I can't edit any jobs or save a job.
Just in general, the documentation for a 1.0 release seems really insufficient.
How can we have multiple Jenkinsfiles in a single branch?
We want to run one job to build things, then after we deploy, we want to trigger another job that runs a bunch of integration, performance, etc. tests against the new code.
Funny to see that Jenkins is starting to address a lot of the issues that led us to creating Pipelines [1].
I still think Jenkins is a pretty huge beast to run and configure. We're trying to keep things light (install in a couple minutes with `pip install`) and intuitive (simple YAML files to describe pipelines).
We're writing a post about our take on automation/continuous delivery and how this impacted some of our design decisions for Pipelines. I'll probably dive a bit more in this version of Blue Ocean before so.
This looks amazing. I haven't used Jenkins for a long time, mainly because I remember the UI being ugly and clunky. So this is really nice.
I haven't set up an in-house CI server for a long time, and if ever needed one again, I was planning to evaluate GitLab CI. Otherwise I just use CircleCI, and TravisCI for open source.
But with this new UX, I might give Jenkins another shot.
It looks nice, but it looks like jenkins is doing way to much and locking you into using it.
IMO a build server should only be managing it's triggers (time, checkin) and then calling the build script (make or whatever) with the correct parameters for that build configuration. Instead it seems to be trying to take the role of both.
I don't know. We tried looking for alternatives when we were a bit down in the gutter with our Jenkins setup, but were even more disappointed with the other options.
Instead, we now use Jenkinsfiles everywhere, or pipeline scripts where we have scheduled stuff. That's working well enough so far for our small team.
The things Jenkins provides can be difficult to find elsewhere. For example, we spin up an EC2 slave for most builds, but sometimes need to then take the result and deploy it from another (static) node because of network restrictions. Stuff like git access, the credential store, moving stuff between nodes just works everywhere.
Jenkins is by far the worst CI/CD system, except for all the others. Jenkins seem to be the only multi-node job orchestrator that works well enough for a CI/CD workflow, but every time it tries to do something "smart", it seems to fail spectacularly.
It's great and beautiful. However, it isn't yet as powerful as Jenkins Classic. So if you've been using Jenkins for a while, there's a good chance that Blue Ocean doesn't have the power/granularity you'll need.
It also switches your default GitHub links to Blue Ocean. If you only want to try it out, you'll have to tell your users to switch their Notification URL back to Jenkins Classic in their user configuration page. (If there's a way to do this for everyone, I'd love to hear it.)
Is there anything in particular is preventing you from moving to Blue Ocean? I'd love to know!
As for the Github links, as you mentioned a user can set their preferred UI (Blue Ocean or "Classic") in their user preferences easily. We do understand that this might be difficult for some administrators to swallow and are looking at a global option to turn that behaviour on/off [1]
Can you elaborate? It's just a plugin at that lives at /blue. In my experience it doesn't remove functionality at all. You can still use "normal" Jenkins just the same.
As someone who has to deal with Jenkins a lot and extensively uses Pipelines with Jenkins and has used BO since early betas, I really really like Blue Ocean.
The UX and UI is by far my least favorite thing in Jenkins, so for basic usage Blue Ocean is miles ahead, even though it doesn't nearly have the feature parity of the old UI. That said, I cannot wait for Blue Ocean to grow and get better.
We have been using Blue Ocean for a few months - We have to use the Classic UI as Blue Ocean is a buggy mess... It doesn't handle branches with slashes in them (reload or try a direct link), it handles console output very poorly with some attempt at detecting when users don't want autoscroll, UI fails often and require browser refresh for it to update data or for UI elements to start working again, ...
Uuuuuugh. It looks nice, but all my colleagues whine about how poorly it works. Then comes all the problems caused by regular Jenkins multibranch pipeline limitations...
Congrats! We recently migrated from Anthill to Jenkins, and went with Pipelines instead of freestyle jobs, and what a difference it has made in terms of being able to see/manage your build/deployment as code. We have been using Blue Ocean in Beta mode (we use Cloudbees version). Is it out of beta for Cloudbees version also?
It will be available from our update center soon and the next month or so via our verified program. The CloudBees Jenkins Enterprise team are hard at work on this as we speak :)
Good progress. But still lot of bugs to be used in production. Its way too slow and dashboard doesn't opens at a lot of time due to bulky/truncated response.
As a TFS user, I miss Jenkins so much. There's so much you can do in the Jenkins pipeline with 2-3 plugins that is nearly impossible, or needlessly difficult, in TFS.
I have become a wizard at MSBuild Tasks because of this very circumstance. We're using TFS 2013 (with those XAML-based build templates that are a nightmare to extend) and I end up writing .proj files for everything that I need.
We use Jenkins with TFS at work, I am not that close to how it was implemented so can't really comment on the complexity but it seems to work flawlessly. It looks like Blue Ocean is specific to Git though?
We are using the pipeline-as-code (i.e. Jenkinsfile). However, the new pipeline plugin does not allow diamond shaped dependencies (e.g https://i.stack.imgur.com/iQFWT.png)
Jenkins does allow 'parallel' jobs but that is the same thing we want.
Aren't environment specific builds generally discouraged? I'd rather have the same binary through each layer. Control behavior via environment variables or prop files
We support Jenkins 2.7.1 (the first 2.x LTS) and above. However, there have been quite a few security advisories for plugins/Jenkins in the meantime and I'd recommend you upgrade often (its pretty painless these days!)
New UI is a step forward, but many people don't look at it that often. They use CatLight or similar tools that show them build status right on the desktop.
You are right - people come to Jenkins when things go wrong and thats why we've redesigned the result screen so you can easily pinpoint changes without having to endlessly scroll through huge log files. You can see this in the "Pinpoint Troubleshooting" section of the blog.
[+] [-] i386|9 years ago|reply
This is just the first release of what we hope to be many more in the coming weeks and months. The surface area of Jenkins is _huge_ and we may not have all your use-cases covered - please send us your feedback and feature requests by signing up to https://issues.jenkins-ci.org and submit a new issue under the 'blueocean-plugin' component.
A few things that are coming up soon:
- Support for Github Enterprise
- Full read/write from the Visual Pipeline Editor for any Git repository (Github is supported today!)
- Visual Pipeline Editor feature parity with Declarative Pipeline
[+] [-] scrollaway|9 years ago|reply
It has improved a lot since I last tried it. Although my team is moving towards Travis for everything except server deployments. Pains me to say since I especially appreciate self-hosting, but Jenkins is still massively behind in everything outside of Blue Ocean. :/
For lots of things that are now basic in all CI/CD systems (email/slack/irc notifications, github login, etc), Jenkins still requires external plugins and/or a ton of setup from the really clunky UI. It's too much :(
What's the plan to resolve this? Is blue ocean going to spread to the other areas of Jenkins?
[+] [-] eVeechu7|9 years ago|reply
Clicking through the gui to create jobs is error-prone, so I'm using jenkins job builder at the moment to create those, but it would be great to just use the one file in tree.
[+] [-] i386|9 years ago|reply
[+] [-] alimbada|9 years ago|reply
There are other minor issues I've come across, but since this one is extremely annoying I thought I'd mention it here.
[+] [-] gtirloni|9 years ago|reply
Jenkins: 2.46.1 Blue Ocean: 1.0.0
I click on "New Pipeline", enter the GitHub token, select organization, select repository (without Jenkinsfile in it) and then after a while this message shows up:
-- Pipeline Creation Pending... Pipelines are still waiting to be created. You may now return to the Dashboard to check for new pipelines. --
I don't see any errors in the log file or in the browser console.
Any insights?
EDIT: In the traditional UI, I see a new job was created for my GitHub organization but it has no repositories (probably due to missing Jenkinsfile?)
I had to click the "Show more" button on Blue Ocean 10x until I reached the end of my job list (when I was looking for this new pipeline that would have been created).
[+] [-] btd|9 years ago|reply
* If i use non core parameter in pipeline, BO ask me to move to classic interface
* If i do not use Github like pipeline, interface become partially useless. It means empty branches, empty PR columns etc. Where is good old custom pipelines?
But anyway it is good move forward!
PS: pipelines itself also has some issues, like really small number of useful steps, literally only sh step used everytime. Also in case of custom pipeline it is still unclear how to abort build in code. And using groovy collections methods is veyr inconvinient (like trying to use .collect to create command like options for next sh step)
[+] [-] hultner|9 years ago|reply
From the pictures the new jenkins looks much more pleasant on the eyes but how would you rank it's competitiveness with Travis when it comes to getting started with your testing the first time?
Will reconsider Jenkins in my next project as it seems like you are taking UX seriously!
[+] [-] empath75|9 years ago|reply
Just in general, the documentation for a 1.0 release seems really insufficient.
[+] [-] jsmeaton|9 years ago|reply
Does the 1.0 release offer much that wasn't in the previous version?
Edit: Answering my own question. No, the 1.0rc4 -> 1.0 is just a version bump.
[+] [-] crymer11|9 years ago|reply
We want to run one job to build things, then after we deploy, we want to trigger another job that runs a bunch of integration, performance, etc. tests against the new code.
[+] [-] Leynos|9 years ago|reply
[+] [-] dfinninger|9 years ago|reply
Do you plan on supporting Bitbucket Server like you are with Github Enterprise?
[+] [-] Yuioup|9 years ago|reply
[+] [-] hunvreus|9 years ago|reply
I still think Jenkins is a pretty huge beast to run and configure. We're trying to keep things light (install in a couple minutes with `pip install`) and intuitive (simple YAML files to describe pipelines).
We're writing a post about our take on automation/continuous delivery and how this impacted some of our design decisions for Pipelines. I'll probably dive a bit more in this version of Blue Ocean before so.
[1]: https://github.com/Wiredcraft/pipelines
[+] [-] nathan_f77|9 years ago|reply
I haven't set up an in-house CI server for a long time, and if ever needed one again, I was planning to evaluate GitLab CI. Otherwise I just use CircleCI, and TravisCI for open source.
But with this new UX, I might give Jenkins another shot.
[+] [-] flukus|9 years ago|reply
IMO a build server should only be managing it's triggers (time, checkin) and then calling the build script (make or whatever) with the correct parameters for that build configuration. Instead it seems to be trying to take the role of both.
[+] [-] kosinus|9 years ago|reply
Instead, we now use Jenkinsfiles everywhere, or pipeline scripts where we have scheduled stuff. That's working well enough so far for our small team.
The things Jenkins provides can be difficult to find elsewhere. For example, we spin up an EC2 slave for most builds, but sometimes need to then take the result and deploy it from another (static) node because of network restrictions. Stuff like git access, the credential store, moving stuff between nodes just works everywhere.
[+] [-] arghwhat|9 years ago|reply
[+] [-] hunvreus|9 years ago|reply
[1]: https://github.com/Wiredcraft/pipelines
[+] [-] jzila|9 years ago|reply
It also switches your default GitHub links to Blue Ocean. If you only want to try it out, you'll have to tell your users to switch their Notification URL back to Jenkins Classic in their user configuration page. (If there's a way to do this for everyone, I'd love to hear it.)
[+] [-] i386|9 years ago|reply
As for the Github links, as you mentioned a user can set their preferred UI (Blue Ocean or "Classic") in their user preferences easily. We do understand that this might be difficult for some administrators to swallow and are looking at a global option to turn that behaviour on/off [1]
[1] https://issues.jenkins-ci.org/browse/JENKINS-43205
[+] [-] moondev|9 years ago|reply
[+] [-] trumbitta2|9 years ago|reply
Minca, gi' fiada ora.
Then, in english: Wow! About time! Kudos to the whole team!
[+] [-] petetnt|9 years ago|reply
The UX and UI is by far my least favorite thing in Jenkins, so for basic usage Blue Ocean is miles ahead, even though it doesn't nearly have the feature parity of the old UI. That said, I cannot wait for Blue Ocean to grow and get better.
[+] [-] arghwhat|9 years ago|reply
Uuuuuugh. It looks nice, but all my colleagues whine about how poorly it works. Then comes all the problems caused by regular Jenkins multibranch pipeline limitations...
[+] [-] sunjain|9 years ago|reply
[+] [-] i386|9 years ago|reply
[+] [-] bryanlarsen|9 years ago|reply
[+] [-] i386|9 years ago|reply
[+] [-] unknown|9 years ago|reply
[deleted]
[+] [-] chinchang|9 years ago|reply
[+] [-] debacle|9 years ago|reply
[+] [-] yawgmoth|9 years ago|reply
[+] [-] markatkinson|9 years ago|reply
[+] [-] taspeotis|9 years ago|reply
[+] [-] i386|9 years ago|reply
[+] [-] andrewingram|9 years ago|reply
[+] [-] i386|9 years ago|reply
[+] [-] sudeepj|9 years ago|reply
Jenkins does allow 'parallel' jobs but that is the same thing we want.
[+] [-] mattbroekhuis|9 years ago|reply
[+] [-] stuff4ben|9 years ago|reply
[+] [-] i386|9 years ago|reply
[+] [-] kevinburke|9 years ago|reply
[+] [-] i386|9 years ago|reply
[+] [-] euyyn|9 years ago|reply
[+] [-] i386|9 years ago|reply
[+] [-] aplex|9 years ago|reply
[+] [-] taspeotis|9 years ago|reply
[+] [-] i386|9 years ago|reply