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

时间:2012-11-06 12:15:07

标签: tfs msbuild tfs2010 continuous-integration

我正在使用Visual Studio 2012 .NET 4.5 ASP.NET MVC 4项目,该项目使用TFS进行源代码管理,使用TFS构建continuous integration(CI)。

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

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

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

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

1 个答案:

答案 0 :(得分: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作为构建后步骤)。