Blue Ocean is a reboot of the Jenkins CI/CD User Experience
Go to file
Ivan Meredith 574aed8ce3 [JENKINS-36209] Queued activity items (#389)
* [JENKINS-36209] Queued items now show in activties

* Remove unneeded changes from routes

* Fix whitespace issues

* Fix linting

* Style changes

* Fixed pipeline steps

* Fix linting

* Add tests and make queues work for multibranch projects

* Remove destructering from RunDetailsHeader

* Extract common function for mapping runs

* Optimize imports

* Remove whitespace

* Remove inline CSS

* Fix typo

* Fix isCompleted Function

* Add timer icon to emtpy state

* Bump JDL version

* Try waiting for start of anything that is in the queue first

* Fix NPE

* Disable Multibranch test for now
2016-08-08 14:27:54 +12:00
bin The beginning of the blue ocean installer (#219) 2016-06-07 12:05:53 +10:00
blueocean-analytics-tools [maven-release-plugin] prepare for next development iteration 2016-08-05 19:55:29 +10:00
blueocean-commons [maven-release-plugin] prepare for next development iteration 2016-08-05 19:55:29 +10:00
blueocean-dashboard [JENKINS-36209] Queued activity items (#389) 2016-08-08 14:27:54 +12:00
blueocean-events [maven-release-plugin] prepare for next development iteration 2016-08-05 19:55:29 +10:00
blueocean-personalization [JENKINS-36209] Queued activity items (#389) 2016-08-08 14:27:54 +12:00
blueocean-pipeline-api-impl [JENKINS-36209] Queued activity items (#389) 2016-08-08 14:27:54 +12:00
blueocean-plugin [maven-release-plugin] prepare for next development iteration 2016-08-05 19:55:29 +10:00
blueocean-rest [JENKINS-36209] Queued activity items (#389) 2016-08-08 14:27:54 +12:00
blueocean-rest-impl [JENKINS-36209] Queued activity items (#389) 2016-08-08 14:27:54 +12:00
blueocean-web [JENKINS-36209] Queued activity items (#389) 2016-08-08 14:27:54 +12:00
docker-demo docker image so one can test blue ocean (#214) 2016-06-07 09:47:07 +10:00
js-extensions [JENKINS-37007] tick js-extensions and packages depending on it to 0.0.20 2016-07-28 13:29:21 -04:00
licenses UX-262: licenses for SVG 2016-04-20 15:03:21 -04:00
.dockerignore Fixed docker build. (#244) 2016-06-23 17:48:33 +09:00
.editorconfig Enable eslint via js-builder 2016-03-09 08:29:46 +00:00
.eslintrc update eslint for max line length 2016-06-15 09:13:11 +09:00
.gitignore local build script to build the docker image (#268) 2016-06-24 18:30:13 +09:00
CONTRIBUTING.md Updates to contributing PRs 2016-03-01 09:59:29 +00:00
Dockerfile Fixed docker build. (#244) 2016-06-23 17:48:33 +09:00
Jenkinsfile Taking a stab at running a node step for checkdeps 2016-07-12 12:47:29 +10:00
LICENSE.txt Add license 2016-02-01 10:44:03 +11:00
PULL_REQUEST_TEMPLATE Submitter checklist item for running the ATH 2016-08-02 11:41:04 +01:00
README.md JENKINS-36884# Analytics-tools plugin to integrated rollbar (#374) 2016-07-28 08:50:24 -07:00
build-in-docker.sh local build script to build the docker image (#268) 2016-06-24 18:30:13 +09:00
checkdeps.js Update checkdeps.js to only look at prod / runtime dependencies, and fix a conflict in react-addons-css-transition-group version 2016-07-12 09:53:46 +10:00
logo-yarrr.png optimize png images losslessly using zopflipng (#211) 2016-05-30 11:06:56 +10:00
pom.xml [maven-release-plugin] prepare for next development iteration 2016-08-05 19:55:29 +10:00

README.md

Blue Ocean is the next generation user experience for Jenkins.

It is a multi-module maven project with a few Jenkins plugins.

Read it: https://jenkins.io/blog/2016/05/26/introducing-blue-ocean/

Pirate logo, because it's ocean and stuff Yarr...

Modules of note

blueocean-dashboard

Blue Ocean Dashboard plugin. Currently contains the bulk of the Blue Ocean user interface. This is mostly client side JavaScript built with ES6 and React.

blueocean-plugin

Acts as an aggregator plugin, making it an easy place from which to run Blue Ocean via hpi:run.

NOTE: As already stated, this plugin is likely to be refactored in the near future.

blueocean-rest

Java interfaces and classes that specify the definition of the REST API. See the README within this module for more information.

blueocean-rest-impl

Provides the default implementation of the core REST Apis defined in the blueocean-rest plugin. It comes with only free style job support.

blueocean-pipeline-api-impl

Provides implementation of Pipeline apis for Jenkins pipeline and multi-branch job types support

blueocean-web

Core Web infrastructure that bootstraps BlueOcean UI and integrates REST API core blueocean-rest.

blueocean-analytics-tools

Plugin to inject analytics tools as HTML header in blueocean UI.

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

$ mvn -f blueocean-plugin/pom.xml 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.

Browser compatibility

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

Developing

Follow the steps above for getting it running first.

Look in following README's for:

Tools needed

Maven is used for most building. The project is configured to grab all the tools you need from the JavaScript ecosystem to get started.

If you are working on the Javascript, you will need node and gulp installed.

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.

  1. Enable class reloading: Preferences > Build, Execution, Deployment > Debugger > HotSwap
  • Reload classes in background
  • Reload classes after compilation: always
  1. Create a Maven Run/Debug configuration
  • Working Directory: <project root>/all
  • Command hpi:run
  • Runner > Properties: Enable Skip tests
  • Runner > VM Options: -Dblueocean.config.file=../app.properties
  1. Debug new configuration, and after compilation the class file will be reloaded

Help

Need help?

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.

Presentations

Advanced front end development with react, redux and stuff by @scherler: https://docs.google.com/presentation/d/1dbaYTIGjGT9xX1JnWnaqjMumq94M9nGwljfMQaVtUFc/edit?usp=sharing