Bernardo Heynemann wrote a nice pair of posts on using Team Build to build and deploy web projects. While he uses the recently-released continuous integration tool from Notion Solutions (Team CI), there are a number of continuous integration tools for Team Build.
Today we engaged in a task (that seemed daunting at first, but proved to be just a little hard :)) that was the one to setup a team build for Continuous Integration of one of our websites.
For you guys that didn´t know, MSBuild does not currently support Website deployment out of the box. Well, I didn´t know. And another feature missing is when a check-in occurs start the build (which is the core of Continuous Integration). Lucky bastards as we are, both have already been done. One by Microsoft and the other by Notion Solutions, Inc.
What we wanted here was:
- 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.