2

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

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

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

我还看到了可以通过 MSBuild 任务实现的示例。

我以前没有做过这方面的工作,所以我想知道哪种方法更好,或者根据我的选择,推荐的方法是什么?一般来说,我什么时候会使用 MSBuild 任务而不是自定义活动?例如,我希望将来也针对签入运行FxCopStyleCop,所以我想要一种通用的方法。

4

1 回答 1

5

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

从整体上讲,我想说在 MSBuild 和 Workflow 活动之间做出决定时需要考虑多种因素:

1 - MSBuild 是否支持开箱即用的功能(如代码分析/FxCop)?

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

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

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

正是这些东西的结合决定了我书中任何给定工具集成的实现。我会通过 MSBuild 实现 FxCop、StyleCop 和任何其他应该在开发人员框构建上运行的工具。我将通过代码活动或某些脚本件来实施构建步骤,例如版本递增、bin-placing 和 CI 部署调用(例如,将SharePoint Webpart 部署为构建后步骤)。

于 2012-11-07T16:34:08.970 回答