How to setup a automated commit/build/deploy system for .Net projects?


New member
Our dev ops processes at work are hopelessly backward and I feel like a dullard not having a good enough grasp of how to do it properly myself. So, I want to get a dev setup established at home, but I'm not really sure where to start.

What I want to end up with is the following process

1) [Dev-Box] Develop webapp in Visual Studio
2) [Dev-Box] Alongside the webapp, develop automated system tests in WebDriver [structured using MS unit testing framework]
3) [Dev-Box] Initiate commit to a repository on [Utility-Box]
4) [Utility-Box] Auto-build on commit
5) [Utility-Box] Auto-deploy to IIS
6) [Utility-Box] Auto-run the WebDriver tests

Is this possible for ASP.NET/C# projects?

I have an MSDN subscription but I hate their bloated team foundation system, so I'd prefer to use open source tools for the repository and build automation if at all possible.

This is probably really basic stuff, but any advice is appreciated.