10 ms·
New UX for Jenkins: Blue Ocean 1.0
- euyyn 10y agoThis is both gorgeous and well needed!
- i386 10y agoWow... thanks for the kind complement :)
- jzila 10y agoIt'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.)
- moondev 10y agoCan 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.
- gtirloni 10y agoExactly what I was thinking. When I access Jenkins, after having installed Blue Ocean, I'm still greeted with the traditional UI and the "Open Blue Ocean" button. I do see the option in my user settings page but I don't understand what it's for. What is this "notifications URL"?
- i386 10y agoJenkins issues all kinds of links to itself via email, Slack, HipChat and Github to refer to runs of pipelines or the homepage of jobs. When we do this, we send you to a well known URL that will redirect you to your preferred UI - Blue Ocean or "Classic" Jenkins. Thats what this preference controls. I hope this helps!
- gtirloni 10y agoThat makes sense, thank you!
- i386 10y agoAnd you can easily switch between Blue Ocean and the Classic UI at will. Just look for the exit button at the top of the screen to get back to the equivalent page in classic then click "Open Blue Ocean" in classic to go to the equivalent place in Blue Ocean [1] [1] https://jenkins.io/doc/book/blueocean/getting-started/#switching-to-the-classic-ui https://jenkins.io/doc/book/blueocean/getting-started/#switc...
- i386 10y agoIs 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] [1] https://issues.jenkins-ci.org/browse/JENKINS-43205 https://issues.jenkins-ci.org/browse/JENKINS-43205
- jzila 10y agoFirst of all, congratulations on an excellent job with the design and UX of Blue Ocean! There's tremendous potential here. I hate to use HN for bug reports, but since you asked about roadblocks (thank you for asking!): For one, we use build triggers to ensure downstream dependencies are tested as well as the current project. I would have expected some kind of pipeline integration between those in BO (displaying the triggered build pipeline in the parent pipeline as a whole), but instead BO actually makes it more difficult to get to downstream builds. Classic: https://jzila.keybase.pub/classic_downstream_build.png https://jzila.keybase.pub/classic_downstream_build.png https://jzila.keybase.pub/classic_downstream_build_detail.png https://jzila.keybase.pub/classic_downstream_build_detail.pn... Blue Ocean: https://jzila.keybase.pub/bo_downstream_build.png https://jzila.keybase.pub/bo_downstream_build.png Note that in BO it isn't clickable, so I have to either manually type the URL or go back to Classic. Some display bugs in the pipeline view: - Issues with display of pipeline nodes in running builds that make what's happening pretty confusing: https://jzila.keybase.pub/running_build_display_bug.png https://jzila.keybase.pub/running_build_display_bug.png - Issues with display of pipeline nodes in finished builds (falsely reporting node failure): https://jzila.keybase.pub/finished_build_display_bug.png https://jzila.keybase.pub/finished_build_display_bug.png Minor grievances: - Nodes run in parallel don't have their hierarchy preserved: e.g. parallel(a: {}, b: parallel(c: {}, d: {})) all get collapsed into a, b, c, d parallel nodes in the BO pipeline view (as you can see in the bo_downstream_build screenshot above). My contact info is at https://keybase.io/jzila https://keybase.io/jzila if you need more details.
- bryanlarsen 10y agoBlue Ocean is cool, but I think declarative pipeline is even cooler, and it also recently hit 1.0: https://jenkins.io/blog/2017/02/03/declarative-pipeline-ga/ https://jenkins.io/blog/2017/02/03/declarative-pipeline-ga/
- i386 10y agoGlad to hear! Declarative and Blue Ocean have been designed to be used hand-in-hand.
- andrewingram 10y agoVisually looks much better than the earlier versions of Blue Ocean that I saw (which left me a little underwhelmed), nice work!
- i386 10y agoAhh that would be the great work of our designer Brody Maclean (https://twitter.com/brodymaclean https://twitter.com/brodymaclean)! Ill pass on the complement and thank you!
- i386 10y agoI 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 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
- crymer11 10y agoHow 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.
- hrmpw 10y agoWhy do you need them to be separate Pipelines? Because it is convenient or for other reasons? Do you want everyone of these jobs in every branch that you create? In Pull Requests? Do you want all of these jobs to automatically trigger on every push the repo? It's possible to do all of these steps in a single Pipeline but I'm curious why you would want to separate it?
- crymer11 10y agoWe want to run our integration tests, etc. against our per-branch staging environment and then against prod when we deploy the branch there as well. With a "post-deploy" pipeline file, we can keep that logic nice and clean and easily trigger the appropriate job via the API. With everything in one file, we would have to add the logic to our Jenkins pipeline to handle when to trigger deployments (which is currently done through a service we built that looks at GitHub commit statuses of a certain prefix/listens to Slack slash commands).
- 10y ago
- kevinburke 10y agoCongrats to the Jenkins team!
- i386 10y agoThanks for your support Kevin!
- debacle 10y agoAs 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.
- i386 10y agocome back :)
- taspeotis 10y agoWhat is difficult?
- markatkinson 10y agoWe 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?
- yawgmoth 10y agoI 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.
- stuff4ben 10y agoIs this compatible with all 2.x versions of Jenkins? Or should we be on a specific version or higher?
- i386 10y agoWe 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!)
- sunjain 10y agoCongrats! 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?
- i386 10y agoIt 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 :)
- hunvreus 10y agoFunny 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. [1]: https://github.com/Wiredcraft/pipelines https://github.com/Wiredcraft/pipelines
- aplex 10y agoNew 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.
- i386 10y agoYou 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.
- taspeotis 10y agoAre you affiliated with CatLight? https://news.ycombinator.com/submitted?id=aplex https://news.ycombinator.com/submitted?id=aplex
- flukus 10y agoIt 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.
- hunvreus 10y agoWanna see if Pipelines [1] works for you? If not, could you tell me what is missing? [1]: https://github.com/Wiredcraft/pipelines https://github.com/Wiredcraft/pipelines
- kosinus 10y agoI 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.
- flukus 10y agoDo you have a build script (makefile or something else)? IE, can you perform a build from you're machine?
- kosinus 10y agoMost of our builds are 'basically' Node.js / npm or PHP / composer, so reasonably contained build processes. It looks simple on the surface, but once you start running CI for a while you notice all the dependencies on the environment. Versions installed of PHP, Composer, Node.js, MySQL / MariaDB, Java, Ant all tripped us at some point. (Not to mention we develop on Mac, deploy on Linux.) Instead, we now have a very basic Ubuntu-based AMI with Docker installed, and otherwise stopped depending on the host environment as much as possible. Jenkins spins up an EC2 instance when needed, and shuts it down again after some period of inactivity. 95% of our pipeline scripts do work inside a container.
- trumbitta2 10y agoAs a long-time Jenkins user (since the Hudson days), I'd like to comment in my first language - sardinian: Minca, gi' fiada ora. Then, in english: Wow! About time! Kudos to the whole team!
- nathan_f77 10y agoThis 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.
- sudeepj 10y agoWe 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 https://i.stack.imgur.com/iQFWT.png) Jenkins does allow 'parallel' jobs but that is the same thing we want.
- mattbroekhuis 10y agoAren't environment specific builds generally discouraged? I'd rather have the same binary through each layer. Control behavior via environment variables or prop files
- chinchang 10y agoGood 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.
- petetnt 10y agoAs 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.
- arghwhat 10y agoWe 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...
- deleted 10y ago[deleted]