Team Build 101 (Part 2 of 2)
This is article part two. For part one click here.
We must now check to see if our team build is ok. Just right-click the team build type and click Build Team Project <YourProjectName>.
A Team build will then start and it will guide you through any errors that may arise. It will show you compilation errors too if they exist. You´ll probably spend some time here tweaking things til´ your team build compiles succesfully. When it does you are almost 100% set.
Remember those requirements? No? I´ll refresh your memory:
- Launch the Team Build on every check-in.
Get the latest source code in the server. Build the website solution. Unit test the website solution. If everything goes well, zip the built website files and place it in the test site /archived folder with the zip name being: ProjectName_Major_Minor_Build_Release.zip. (this one I borrowed the idea of Douglas Rohm) If everything goes well copy all the built website files to the test site folder, so the test site always reflect the latest check-ins. - I had to have a way to check the team builds for all our projects without having to look in VS 2005, in two ways:
- I wanted to be notified by e-mail.
- I wanted RSS Feeds for every team build so I can get notified by RSS Bandit.
We have already covered all the strikethrough items. A few more to go yet. Let´s get the Continuous Integration requirement first (Launch the Team Build on every check-in).
This requiremente can´t be achieved by using TFS alone. You have a couple options: you can use BisSubscribe.exe to start the build (but this solution is beyond the scope of this article) or you can use a nice, easy-to-use application built by Notion Solutions, Inc. called Team CI. This application let´s you specify a Team build in a Team project that should have Continuous Integration enabled for it (it even let´s you specify a delay for the check-ins after which the team build is started). The UI is as shown below.
Now I had to test it, so I just checked-out one source code file in my solution and added a comment to it, then checked it in. The build was started one minute later. One thing to note, though, is that the TeamCI service must be runnning correctly on the Build Server.
As I checked the file in, one minute later, my build was started and finished successfully. Well, the Continuous Integration part is done with. But how to monitor the Team Builds. Here is where another great piece of software comes to place. Since I blogged about this tool earlier I won´t get into much detail here. Read more about it here.
Well, that´s pretty much it. You probably will have to do a few tweaks, but hopefully this article helped to get things a little more straight about creating a Team Build for a website and deploying it to a test server.
Click here for part one of this article...
Technorati Tags: Team - Build - MSBuild - .Net - ASP.Net - WebSite - Web - Deployment - Project
