MSBuild任务或自定义活动以增加版本号

ama*_*eur 2 msbuild tfs continuous-integration tfs2010

我正在使用Visual Studio 2012 .NET 4.5 ASP.NET MVC 4项目,该项目使用TFS进行源代码控制,使用TFS Build进行持续集成(CI).

我想创建一些功能,在CI构建开始之前,每次检查构建号都会更新.

从研究来看,似乎可以在TFS 2010构建模板中创建和集成自定义活动.

我也看到过这个可以用MSBuild任务实现的例子.

我之前没有在这方面做过工作,所以我想知道哪种方法更好或者基于对我开放的选项推荐方法?一般来说,何时使用MSBuild任务来反对自定义活动?例如,我将来也会考虑运行FxCopStyleCop来检查,所以我想采用一种常见的方法.

Nic*_*nik 5

在增加构建号的情况下,我会投票给TFS构建活动,以便实现不依赖于您的msbuild实现.这使您可以轻松地将TFS工作流活动应用于任意数量的分支,而无需将其直接绑定到分支.此外,它使您的MSBuild项目文件保持清洁任务,以便在开发人员计算机上不会错误地执行它.

从整体上讲,我要说在决定MSBuild和Workflow活动时需要考虑各种因素:

1 - MSBuild是否支持开箱即用的功能(如Code Analysis/FxCop)?

2 - 构建步骤是否需要在开发人员框和服务器(StyleCop/FxCop)上运行?

3 - 构建步骤是否需要直接与TFS API或源代码控制交互(签出/在版本文件中进行递增)?

4 - 您是否要稍后将构建作业调度程序更改为免费(例如,Jenkins)?

这些东西的组合决定了我书中任何给定工具集成的实现.我将实现FxCop,StyleCop和任何其他应该通过MSBuild在开发人员框架上运行的工具.我将通过代码活动或某些脚本软件实现构建步骤,例如版本增量,bin- placement 和CI部署调用(例如,作为构建后步骤部署SharePoint webpart).