Tuesday, November 30, 2010

How to manage Build increments with TFS 2010

Is it given by default in TFS 2010 ?
Yes according to this Blog.
http://freetodev.wordpress.com/2009/11/07/versioning-code-in-tfs-revised/

Else, you could use MSBuild 4.0 to do so :
http://www.wintellect.com/CS/blogs/jrobbins/archive/2009/11/09/tfs-2010-build-number-and-assembly-file-versions-completely-in-sync-with-only-msbuild-4-0.aspx

Or, here is a GREAT example to extend the workflow floundation :
 "Version Assemblies with TFS 2010 Continuous Integration", using Custom Workflow Activity :
http://geekswithblogs.net/michelotti/archive/2010/05/15/version-assemblies-with-tfs-2010-continuous-integration.aspx

In all cases, a good idea is to rely on CodePlex, such as an MSBuild Extension to ease your life:
http://www.msbuildextensionpack.com/

As a general guidance (Jim LambProgram Manager for Team Foundation Server - build automation features) :



·         If the task requires knowledge of specific build inputs or outputs, use MSBuild
·         If the task is something you need to happen when you build in Visual Studio, use MSBuild
·         If the task is something you only need to happen when you build on the build server, use WF unless it requires knowledge of specifi build inputs/outputs
When using MSBuild, remember that you can customize your project files directly (by unloading them and then editing them in Visual Studio), or you can create custom .targets files and import them into your individual projects. The latter approach is useful for functionality that's common to multiple projects to avoid maintaining multiple copies.
When using WF, remember that you can write code activities for low-level tasks but that you can also compose higher-level tasks using straight XAML. We're actually working on a version of the default build process template that shipped with TFS 2010 that gives you a simpler, less granular view of the overall process by using a set of composed XAML activities.


No comments:

Post a Comment

Note: Only a member of this blog may post a comment.