Customizing Team Build
I'm speaking at TechEd 2007 in Orlando this coming June on the whys and hows of customizing TFS. As part of the early research I'm doing for the talk, I'm reaching out to the individual teams to understand what they've seen to date. I just heard back from Buck Hodges on the Team Build team and he sent me an amazing list of blog posts that I can use as source material. Since it seems like a great resource for everyone to use, I thought I'd share it with the community:
Aaron’s posts on how to extend team build through custom tasks and a custom logger. Writing custom tasks is the primary way folks extend team build to do more complex tasks.
- Adding BuildSteps to Team Build through a Custom Task – this post really shows the mechanics of writing a custom task
- Adding Custom Loggers to Team Build – this introduces folks to the logger and what it can do – it’s really more of an advanced topic
- Determining Whether Tests Passed in Team Build – this is one that came up a number of times on the forums, so it’s a useful thing to show folks
- The Triumphant Return? – this post provides a custom task to add any random message as a build step to the build report (one of the messages you see in the build details in VS); a more advanced version of this task ships in the box in Orcas
- Building Non-MSBuild Projects With Team Build – quite a few customers need to build stuff that requires running a build tool other than msbuild, such as Ant, Nant, nmake, etc., and Aaron shows the basics of how to get started doing that using a custom task
- Orcas: Adding Build Steps to Team Build in orcas – this post explains a bit about the Orcas OM, which is completely new; here, Aaron rewrites the custom build step task using the Orcas OM, so it’s easy to compare the two
General explanation of key v1 API methods
Here are Jason Prickett’s posts on how to filter the build completion event so that folks can control which builds are recorded in WIT for the Found In Build and Resolved In Build fields.
Here are some of my posts.
- Team Build Extensibility – points to the v1 extensibility docs in the SDK and lists the targets that are designed to be overridden by customers
- Links to MSBuild tasks to extend your build system -- this isn’t team build, but it’s a collection of links for folks to find custom tasks to deploy web sites to IIS, etc.; there’s a lot of good stuff out there
- How to run tests in a build without test metadata files and test lists (.vsmdi files) – this has been very popular; in the near future I plan to post a new version with category attribute support written by Pierre Greborio in MSTV
- A checkin policy to detect that the build is broken in a CI environment – this is Clark Sells’ checkin policy; we liked it so much, we put such a policy in Orcas
- Schema for the WorkspaceMapping.xml file – not enough users understand this and how they can use it to trim down what sources the build gets, labels, and which work items are updated; in this post, I show what the file does, but we still need more documentation here
- Generating documentation from code with Team Build – this comes up periodically, and it’s a useful thing to show folks how to do
Wow...I've got some reading ahead of me!