Ruby Weekly is a weekly newsletter covering the latest Ruby and Rails news.

Rakemin: Run Rake tasks in a Web browser

By Peter Cooper / August 31, 2006

Rakemin

One of my clients has a multi-application rollout system in place that operates on Rake tasks (Capistrano wasn't viable). The Rake tasks are centralized with the application and need to be run from the deployment boxes. As their developers aren't au-fait with the command line, they wanted an easy way to run Rake tasks on arbitrary applications over the Web. I decided I could write a tool to do this, and I have.. it's called Rakemin.

It's all AJAX, quick, and all you have to do is specify the 'base directory' where all of your Rails applications live, and it'll hunt out all the projects for you. These are made available from a drop down menu at the top of the screen, and upon selecting an app, the rake tasks appear in the left hand window. To run a task, click on it, type in any options you might have, and press the button. Results appear in the bottom 'console' window. This will be perfect for them to do their rollouts, as it means everything is centralized, so all developers will be using the same system (rather than quirky local variants).

It's pretty new, so it's not ready for me to release the source yet, but I'm just wondering if it's anything anyone would be interested in. It'll get released eventually, but if people are interested, I'll try to get a beta build publicly available sooner.

There's a hideously low res video demonstration next.. (note, this demo video was for the client, so it's not that slick ;-))

Comments

  1. Joey says:

    Go on Peter! Looks Good!

  2. Mike says:

    Peter, looks great. How soon can you make it available?

  3. Peter Cooper says:

    In about a week I figure. It already 'works' okay, but undoubtedly some more snafus are going to come out with the initial testing, and the code needs a little tidying (though not much).

  4. Dudley Flanders says:

    This definitely looks great. I'd love to be able to use it in a project I'm working on right now.

  5. IAmThatClient says:

    (note, this demo video was for the client, so it's not that slick)

    surely you cant want to make it better for a load of people you dont know than the ones you do (and pay you)

    tell me it aint so

  6. Peter Cooper says:

    Haha, well to be honest.. when broadcasting to thousands of people a little more 'slick' is needed ;-)

  7. Nate Murray says:

    I think it looks fantastic. I am currently working on a project that could use it. Keep up the good work!

  8. Matt Pulver says:

    Yes we would probably use it if it had these features:

    * User management. Different secure logins with different permissions associated with each. E.g. some tasks should only be available to run only by some users.
    * Task locking. Some tasks should not have multiple instances run at the same time.
    * Task histories. Who ran which task when, and how long did the task take.
    * Logging. When reviewing task histories, a link would be available to the logged output of the task.

    Thank you!

  9. Charles Brian Quinn says:

    Peter -- awesome stuff. Over at Highgroove, we wrote something similar for our Rails Day 2006 competition entry. We called it heartbeat: http://heartbeat.highgroove.com/

    We've been working on a newer version ( http://cleanair.highgroove.com/articles/2006/08/18/heartbeat-sneak-preview ) that does utilize capistrano, and therefore allows you to deploy using a webpage. We also updated our rake task runner to employ AJAX page updates as you have. Very cool stuff, keep up the good work!

  10. Peter Cooper says:

    Charles: Ack, I could have used that! ;-) I seemed to remember Heartbeat as only being a monitor, I didn't see / remember the Rake functionality. Oh well :)

Other Posts to Enjoy

Twitter Mentions