Blue Ocean is the next generation user experience for Jenkins.
It is a multi-module maven project with a few Jenkins plugins.
Modules of note
Acts as an aggregator plugin, making it an easy place from which to run Blue Ocean via
NOTE: As already stated, this plugin is likely to be refactored in the near future.
Java interfaces and classes that specify the definition of the REST API. See the README within this module for more information.
Provides the default implementation of the REST Api defined in the
Web infrastructure that glues Jenkins and Blue Ocean plugin together on the /blue endpoint.
Building and running
Build everything (from root directory)
Builds all maven modules (run this the first time you check things out, at least)
$ mvn clean install
For now, you'll need to skip the tests if building on Windows, so be sure to include the
-DskipTests switch e.g.
$ mvn clean install -DskipTests
Running Blue Ocean
$ cd blueocean-plugin $ mvn hpi:run
Then open http://localhost:8080/jenkins/blue to start using Blue Ocean.
The Jenkins Classic UI exists side-by-side at its usual place at http://localhost:8080/jenkins.
The obviously goal is for Blue Ocean to be runnable on all browsers on all platforms. We're not there yet, but getting
closer. The ultimate goal will be to have browser support in line with the Jenkins Browser Compatibility Matrix.
List of browsers where we know Blue Ocean is not yet runnable:
- Internet Explorer (all versions) on Windows
Follow the steps above for getting it running first.
Look in following README's for:
blueocean-dashboardguide on how to modify the GUI in the dashboard plugin. https://github.com/cloudbees/blueocean-sample-pipeline-result-ext-plugin has a video/sample of a plugin that extends Blue Ocean.
blueocean-restfor how to navigate the rest api.
blueocean-rest-implfor more details on how to actively develop this plugin for backend codebases.
NOTE: look in the README.md of the respective modules for more detailed dev docs.
Debug and live reload with IntelliJ
Automatically deploys changes to an instance of blueocean that is run with hpi:run.
- Enable class reloading: Preferences > Build, Execution, Deployment > Debugger > HotSwap
- Reload classes in background
- Reload classes after compilation: always
- Create a Maven Run/Debug configuration
- Working Directory:
- Runner > Properties: Enable Skip tests
- Runner > VM Options:
- Working Directory:
- Debug new configuration, and after compilation the class file will be reloaded
You can chat to folks on #jenkins-ux on freenode (IRC). You can also email the jenkins-dev email list (google group: https://groups.google.com/forum/#!forum/jenkinsci-dev) - but ensure you use the prefix [Blue Ocean] in your subject line when posting.
Advanced front end development with react, redux and stuff by @scherler: https://docs.google.com/presentation/d/1dbaYTIGjGT9xX1JnWnaqjMumq94M9nGwljfMQaVtUFc/edit?usp=sharing