Cruising with clouds

October 3 2011

for all you monitoring guys out there, here’s a bunch of new stuff which I’ve recently added to Cruise-monitor. ready? here it comes:

  • Windows support (see documentation here)
  • CruiseControl.NET support, both for RSS feed (not available by default) and HTML project report page (see documentation here)
  • Jenkins support (minor differences with Hudson)
  • Rake tasks for configuring and monitoring
  • build server on Amazon EC2 (dog-feeding anyone?!)
  • Rake task for deploying configuration on EC2 and restart services
  • wiki documentation pages under revision control as well

porting to Windows has been tricky, because (no, you can’t guess it) tests where failing! after playing with sockets library a bit, it turned out to be a “missing” loop statement (while running fine both on MacOs and Ubuntu). even more, don’t forget the obvious filesystem tmp path! then, Microsoft Speech API was good enough to be wrapped by a script, in order to emulate say command.

support for CruiseControl.NET was funny to develop, because I had to force a little bit the code to host HTML parsing as well. in the end, relying on HTML and CSS styles is a bit too fragile, because, you know, HTML is going to be drastically changed. anyway, enabling RSS publisher you can start monitoring an RSS feed.

then, all the EC2 stuff. I’ve signed for a free micro instance, which seems to be good enough for my purposes. currently, CruiseControl.rb and Jenkins are running, with an Apache frontend acting as a proxy. all configuration is under revision control, deploy is completely performed with Ruby, as a Rake task, thanks to the net-ssh client and this nice wrapper script, which sends a bash script to be executed remotely.

I’ve also registered the free cruise-monitor.tk domain at www.dot.tk, configured for the EC2 instance via DNS, thanks to the free afraid.org service. www domain is served by the Apache frontend as a permanent redirection to Cruise-monitor wiki pages on GitHub.

finally, all documentation is versioned as a separate git repository, and eventually tested locally with Gollum. if only I could refer images as relative URLs instead of absolute ones..

anyway, I think it’s enough to say Cruise-monitor is evolving, and to be fair I’m really having fun. I’m not a tech zealot, so my appreciation of all the Ruby/Rake/Gem ecosystem is genuine. some SSH, Ubuntu and bash magic and it’s ready to serve!

Sourcesense open-source repositories have moved, and so has Cruise-Monitor. sources are now hosted here, while documentation has moved to this wiki site.

thanks to the Sourcesense crew for supporting me with GitHub stuff, which is completely new to me. and now, keep monitoring!

well, how sad it is to see this is my first post for 2010, and it’s March already! well, I can assure I’ve been very busy, finding a new flat in such a big and frenetic town as Milan is, and it’s still work in progress!

anyway, I’ve been doing a lot of stuff with CQ 5, Sling and Felix in the last 3 months, then last week I managed to set up an Hudson instance to monitor everything is ok with websites and bundles.

that’s why I’ve spent a bunch of hours this weekend to let Cruise Monitor support Hudson as well. here the public release notes.

please, let me know if it’s going to be useful to you!

Keep monitoring

September 6 2009

so, i finally managed to setup a wiki space for Cruise-monitor, thanks to my colleague Gustavo. i added a “five minutes tutorial”, to install and configure a monitor. Marco also sent me a shell script to “emulate” say on Ubuntu, wrapping festival TTS, so i added a “configure say on Ubuntu” page too.

Cruise-monitor is growing, feel free to contribute!

Say what you want

September 3 2009

did you ever want to be notified about latest build status? think about having a script that monitors your build server via RSS feed, and notifies success or failures saying something like “build broken for project XYZ”. add a rubysh taste, and…

i’m happy to announce cruise-monitor has just been published! as README says:

“Cruise-monitor is, well, a monitor to CruiseControl build status, via RSS feed. It uses MacOS ‘say’ command for notifications. So far, only CriseControl.rb is supported, but plans are to support CC and CC.NET as well”.

this is the first open-source project hosted on our company public servers that i’m involved in. it basically was born after a few broken builds for the project my team is currently working on: a Rails application built on a CruiseControl.rb continous integration server.

it happened a few times no one noticed a failing test or a missed svn add. we started using a feed reader playing sounds on each new build, but still it was not able to distinguish failure from success. that’s when we thought about using great MacOs say command.

it started as a spike on ruby, RSS and system exec, but it soon turned into a real project: a Rake build file; unit, integration and acceptance tests; README, LICENSE and TODO files.

so far i’m the only committer! i hope the community around will grow a little bit. i’m going to add details on our public confluence in the following days.. so, stay tuned!