0

Continuous Integration : Using RoR to manage my ASP.Net builds

Posted November 1st, 2007 in .Net, C#, General, rails, ruby by ryan

So I’ve started down the path of setting up continuous integration (CI). I’m working on a project now for a client that wants to be involved with the process as much as possible. The CI with a few other hacks will allow him to use the current working version of his website at anytime.

I started looking into some CI products and ended up watching a screencast on CI Factory. I was amazed at my initial reaction (yuuk!)! I’m not knocking CI Factory directly, rather the fact that I need to configure a product that will configure a suite of products for me sounded like something that would be overly complicated to maintain / use. This is not what I need to stay agile and keep a client involved.

So in my tinkering with RoR, I ran into CruiseControl.rb. This product was easy to install and I already had the required dependencies from my RoR work. It works out of the box for RoR, but needs a little love for building .Net apps.

I started out by deciding that I was going to continue to use MSBuild for building my projects and use CrusieControl.rb to do the CI and other tasks not including the actual build. This would allow me to continue to work in Visual Studio as normal without changing a development process already underway.

So far I have integrated Rake into Visual Studio, created a rake file in my solution and created a task to build my projects. It works great from the command line (rake dotnet_build) but when calling from CruiseControl, it throws an error that is probably complaining about not having resgen.exe in the path – that will be taken care of soon and I plan on publishing a full post on each step in the near future.

I am very excited by the possibilities that Rake and Ruby bring to my .Net development. I’m already thinking of how to integrate this with the new IIS 7 API to have a Capistrano like feel to deploying my ASP.Net apps.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Leave a Reply





FireStats icon Powered by FireStats