Simple Continuous Integration with Rails: CruiseControl.rb

In case you missed the official announcement, the CruiseControl family of Continuous Integration (CI) systems has a new member; please welcome CruiseControl.rb.

I’ve always been addicted to its .NET counterpart, but this guy is so incredibly simple to setup and tweak that it certainly deserves a lot of attention.

In fact, it is already up and running here at InnerWorkings, right beside its older brother, polling data from our trusted Subversion code repository; it executes ruby-based acceptance tests on a .NET project we are working on.
We could certainly move the entire project there, but for now we’ll probably leave everything as it is.

After all, we can still use the same cctray client to monitor both CI systems on our Windows machines.

Not surprisingly, CruiseControl.rb uses Rake, which is quickly becoming my favorite build language; I find it way more enjoyable and expressive than any xml-based language I’ve used in the past (mainly NAnt and MSBuild).

There are rumors that CruiseControl.rb is set to become the “official” continuous integration system for Rails applications.

It is certainly an easy choice if you are into Rails, but I would definitely consider adopting it for any type of application, including .NET.

Why? Well, here is my story :-) :

As a developer, I want to use, create, and maintain simple and essential software, so that I can focus on delivering value without being lost in the act of writing code.

0 Comments

A New Home, A New Mindset

I finally moved my extremely interesting and groundbreaking blog to claudioperrone.com.

I thought about doing it for a long time, but I haven’t really bothered until now.

house plan image

The geek in me, however, has finally taken full control of my destiny and now I can finally tweak everything I want: permalinks, themes, text filters, and, even more importantly, spam filters!

Since I’m moving away from a service based on .Text, what do you think a traditionally hardcore Microsoft technologist like me would install? Community Server? DasBlog? Perhaps Subtext? Build my own engine?

Nahhh… boring, boring, boring… been there, done that.

In the end, I decided to install Typo 4, a little jewel based on Ruby on Rails.

I can almost hear you guys: Blasphemy?This is not .NET! Betrayer etc, etc (well I know, others may ask Ruby on what???, but never mind).

No, I’m not out of my mind.
I still love .NET, and I passionately work for an outstanding company whose purpose is to reveal more efficient ways to help developers building enterprise applications using .NET technologies.

The truth is that it is time for me to give Ruby another chance.
Yes, you heard me. I said another chance. In fact, I tried it in the past, with modest results.

The problem was me, not the language, of course.

I kept questioning everything.

Can you imagine it?

Why this, why that?

How can that code be manageable in a reasonably big application?

I remember going through the Pickaxe book with extreme frustration.

I lost the battle; Ruby was too different; I didn’t “get it”.

But do you know how children learn their (first) language so fast?

  • They don’t have anything to compare it with
  • They don’t question its value
  • They don’t set high expectations
  • They just absorb everything, like only the best sponges can do

So there you go; I want to be a child again.

Arguably I have being exposed to these concepts for too long. Some colleagues already played with Ruby, and, largely thanks to the early adoption of Michael O’Brien, both strategic applications and tactical scripts have been already built for internal use.

And like a disease, the doubt that I might have been a bit too superficial in my early judgement is spreading all over my body.

At the workshop in Crested Butte, Niclas Nilsson, Martin Fowler and Bruce Eckel giggled when I na?vely told them that I have a “static” mindset.
Puzzled by my (admittedly poor) choice of the word “static” in that context, Bruce smiled and asked me if I meant that I live in a static world where nothing ever changes!

Eh eh, we had a good laugh.
Of course, I only meant that I’ve been pretty comfortable with the perceived sense of security that “strongly typed” languages give me.

But now I’m ready to go back and revisit my assumptions.

So, what’s next?

If there is one thing that I’m learning about blogging is that I should never set expectations about future posts unless I am positively confident that I will definitely fulfil those expectations.
My writing energy fades away too easily.

So don’t expect anything.

Be a child.

6 Comments