tags:

views:

51

answers:

1

I would like to hear the best practices or know how people perform the following task in TFS 2008.

I am intending on using TFS for building and storing web applications projects. Sometimes these projects can contain 100's of files (*.cs, *.acsx etc)

During the lifetime of the website, a small bug will get raised resulting in say a stylesheet change, and a change to default.aspx.cs for example.

On checking in these changes to TFS, and automated build would be triggered (great!), however for deploying the changes to the target production machine, I only need to deploy for example:

  • style.css
  • default.asx
  • MyWebApplications.dll

So my question is, can MSBuild be customized to generate a "code pack" of only the files which require deploying to the production server based on the changeset which cause the re-build?

A: 

You are probably going to have a hard time getting MSBuild itself to do this, but the ideal tool to use in your situation is the Web Deployment Tool, aka MSDeploy. With this tool you can tell it to deploy the changes to the target website. It will determine only the changed files and then just deploy those. Also you can perform customization to the deployment and a whole bunch of other stuff. It's a really great tool.

Sayed Ibrahim Hashimi
Thanks Sayed,I've taken a quick look and I think your correct in that this tool could be used. However I still think the implementation might be quite difficult to achieve what im trying to-do.The tool appears to work by comparing a website to determine differences in files.In my Instance I will not have access to the production platform and will not be able to perform a compare.I would need to pass the changeset files to the MSDEPLOY tool to determine which dlls and files are required in the code pack.
Adam Jenkin