Hey everyone, 

Yesterday I decided to publish sources for my pipeline visualization 
plugin: https://github.com/bsideup/jenkins-pipeline-view
<https://lh3.googleusercontent.com/-t28IjO2m73U/Vu-VVrauoEI/AAAAAAAAAyI/tiF8TH7YVCYiqI4n78DvC0FQ21ir46LNg/s1600/screenshot.png>


What's cool about it? 
First of all, it *can handle any graph* provided by pipeline because it 
uses very powerful *JS graph library* to position steps. 
Also, it's a *React* application, written in *ES7* (not even ES6!), with 
ImmutableJS and RxJS inside - so hipsters will be happy :D But in fact, it 
means that it's damn easy to develop this plugin and provide more 
functionality. 
I use *Webpack* to bundle everything (JS, CSS, fonts, images, SVG icons) in 
one single pipe.js file. *No Jenkins JS Modules*, no conflicts, no impact 
on others. Even CSS will not conflict because of *CSS-modules* 
( http://glenmaddern.com/articles/css-modules )
All icons are SVG ones and look good on any screen, retina or not, and any 
zoom level.

I use Jackson on the backend side to serialize FlowNodes and their actions. 
*Why 
Jackson?* Because it was much easier to implement serialization of selected 
(non-exposed) fields and class info included compared to Stapler. I saw 
something were done about classinfo in Stapler, but at the moment of 
creation of this plugin, it wasn't delivered to Jenkins core yet. Also, *almost 
none of the Pipeline actions are @Expose-d*.

I use *gradle-jpi-plugin* instead of Maven because it's much easier to 
describe some complex build process with Gradle, especially when frontend 
build is involved. In fact, it's just one line:
https://github.com/bsideup/jenkins-pipeline-view/blob/954b895b6574cdf34815ff94a4a8db3ad3811aeb/build.gradle#L61


Future development
Will I continue to develop it? Definitely! Here, *at ZeroTurnaround*, we 
use Jenkins a lot, and eventually we will migrate to the pipelines, and 
proper visualization of the process is a must for us. And feel free to 
contribute as well, it's really a good chance to learn *modern JS stack* as 
well :)



Best regards,
Sergei Egorov

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/61fe5fb1-6b5f-41b8-bdb0-f5d04c5b9f54%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to