Software dev, tech, mind hacks and the occasional personal bit

nRake – Rake builds for .NET

Fed up with XML based builds that are hard to maintain, refactor and extend? Rather than trying to fix this with more xml and community tasks, or re-invent the wheel, let’s use Rake. Rake is a mature build system developed by the ruby community which can be applied equally well in the .NET world.

To help you get started quickly, I’ve put together nRake. nRake provides a template C# .NET solution with a nice directory structure (src, tools, lib, etc), a Rake build, NUnit tests, templated app and web configs for different environments (eg, dev, uat, prod, etc) and Continuous Integration server sample config files. It comes with everything you need – no additional libraries or downloads required, and all the plumbing work has been done for you.

How to use

  • Git clone or Download nRake as a Zip
  • Rename PlaceHolder app and tests to reflect your project
  • Run rake in the root of the project. This will clean, compile, template config files and run unit tests.
  • Start developing your app! How easy was that 🙂
  • Note: nRake currently uses Ruby 1.9 since IronRuby start up time was prohibitively slow. Hopefully IronRuby will get faster, and then nRake can make use of it. Also nRake uses the Albacore Gem for .NET build tasks. Documentation on Albacore tasks here.

    Also check out the IronRuby update!

Previous

Buying Books Online in Australia – Alternatives to Amazon

Next

Talk: The ultimate (circa 2010) ALM environment

2 Comments

  1. Henrik

    Hiya,

    I have something similar;
    https://github.com/haf/Castle.Releases

    Tell me what you think.

  2. Hey Henrik! Thanks for the link. Looks like we’re on the same sort of direction. nRake is more of a template solution with build set up and all required dependencies including IronRuby, gems etc. So to start a new project, you just pull down nRake and rename the solution and you’re away. Looks like we’ve both got a sample rake file, and different environment configs and using albacore so certainly things in common too!

Powered by WordPress & Theme by Anders Norén