Continuous integration with Team System and Team Foundation Server
Team foundation server is a monster. Seriously, it's so big and heavy, that trying to do something as simple as adding custom actions to a build process, reading the documentation and googling on how to achieve this is like drinking water from a fire hose:
- There's way too much to sift through
- It stinks
- After you are done you wonder if you weren't better off just sitting at home watching TV for a week.
Take continuous Integration (CI for short)for example. The basic idea is that whenever a checkin occurs on the project's codebase, an automated build is triggered that also does lots of other things (like run all the unit tests etc..). If that build fails you know almost immediately that you checked in code that broke the build. When you have CI in place as part of your development process, you can work through your integration problems much more quickly and with less pain as you keep building the software, and not hog them all until the last month of the project where suddenly everything goes wrong and everyone pulls their hair out. With CI in place, the release build should (hopefully) be just another automated build, nothing more.
How easy it is to do CI with Team System?
It's impossible to do it out of the box - you can't hook into the source code eventing system in any humanly-reasonable way.