VSTS 2008 Team Build & Integration ... a few notes and thoughts from our internal workshop
Continued from http://dotnet.org.za/willy/archive/2008/05/22/vsts-2008-team-test-a-few-notes-and-thoughts-from-our-internal-workshop.aspx.
Overview
We continued our internal workshop looking at TFS Team build using the great training material created by Brian Randell (MVP), as well as having an initial peek at integration with other environments.
TFS Build
An overview of the Team Build is shown by the Microsoft training material. The basic steps are (1) get the source, (2) build the source, (3) run tests, i.e. ASP.NET unit tests, Web service unit tests, Web tests, Load tests, Ordered test and Generic tests, (4) work item tracking and (5) notifications.
Watch Zayd Kara's build video (Part 1 & 2) at www.saarchitect.net or www.drp.co.za for a great overview and the process of customizing the build. To get a detailed quick reference poster on all build steps and possible customisation, refer to the 0202 Microsoft Team System Build Process poster at www.saarchitect.net or www.drp.co.za.
Another "cool" feature is the ability to run a "desktop build", which takes the build script that describes a Team Foundation Server Team Build and runs it on your local machine instead of through the TFS Build Server. See http://msdn.microsoft.com/en-us/library/ms181723(VS.80).aspx for details. The following command runs a TFS build type, suppressing unit tests with the /p command:
msbuild TfsBuild.proj /p:RunTest=false
Integration
WOW ... tools such as Sidekicks and Teamprise are products that do not warrant a review, but are in fact essential components in any TFS environment. We will be covering integration of TFS with the Java Environment using Teamprise at the MVP Interoperability Event ... I will therefore keep the lid on my notes, other than saying WOW again.
Load Agent | Controller
To conclude the day we quickly wanted to install the TFS Controller | Agent framework and do a bit of load testing. We spend about 1.5 hours debugging our network, only to realise that all VMs had the same MAC address and less than half an hour to install and configure the test controller agent framework.
The load test allows us to determine how a solution behaves under light loads for short durations, heavy load for sustained durations, test the responsiveness and performance at various capacities. If, however, we want to call the heavy artillery to attack a solution from all sides and test it to the last drop of energy, the controller|agent framework is the answer.
Watch Richard Hundhausen's video on this product for more information here.
Conclusion
Again we have all had fun and learnt a lot by trying new things, weird things and having lengthy discussions. Next week is Rosario time q;-)
References
A set of great white papers, available as docx, xps and pdf, have recently appeared: