Cool thread OP! I haven’t been working on anything ambitious: just building a simple dashboard for our team that shows some progress bars for incoming releases and visualizes data from Jenkins and Jira (also git & svn in the future). I think the coolest thing about it is that it runs on a raspberry pi attached to a huge screen in our open space. A nice change from debugging Jenkins jobs.
It’s a simple Ruby/Sinatra app that runs on one of our servers in a docker container; raspi is used for the sole purpose of displaying it as it’s unnecessary to use a whole computer just for this one task. Communicating both with Jira and Jenkins is done using API-wrappers written in Ruby. The Jira API wrapper is quite limited, though.The whole thing is quite straightforward, although kiosk mode, tab switching and the way Firefox (oops, sorry, Iceweasel) behaves are giving me a slightly harder time.
What did you use for visualisation? Did you build that yourself from scratch?
Well, the APIs were already there, although I had to modify both of them slightly to limit the amount of API calls, as everything got really slow really quickly:
I used Twitter Bootstrap (I’m not a web dev) and its built-in glyphs, added some colors and flashing here and there to show the overall status of our server build pipeline, what’s failing and what’s running.
We’re migrating away from one of our Jenkins instances so there’s also a progress bar used to show how that’s going.
The Jira view shows how far we are from the next release and how many tickets we still need to close. In case our Team Lead wants me to add anything motivational, it shouldn’t be hard.
I used this instead of some of bootstrap’s progress bars: https://github.com/lugolabs/circles
Every view is opened in Iceweasel as a separate tab and Iceweasel just runs in kiosk mode, regularly switching between the tabs.
Like I mentioned, nothing really ambitious. :)
Good observations on culture and communication but I was rather surprised to hear that they are still managing individual machines in 2016.
(I’m the author of the talk - thanks for the positive comment!) I would think managing individual machines is still quite common - we’re working on changing that (introduce cfg management and so on), but like I mentioned in the blog post, we have a lot of things to test that require “snowflake machines” (our software offers a number of plugins for different software and testing all that is a challenge in itself, as far as my limited experience would tell me). Well, the machines wouldn’t be snowflakes if you had time to create a long term plan, but it’s not always possible.