1

我正在我们的 TFS 系统中设置持续集成。我们系统的一个主要部分是开发了大约 50 个 DotNetNuke 模块来支持我们的 CMS 基础架构。目前,这些项目中的每一个都有自己的解决方案,因为它们的代码库大多是孤立的(在 1 或 2 个通用项目中具有通用代码)。将它们保留在自己的解决方案中是因为它使开发过程更快(加载、编译等....)

但是,事实证明,在设置 TFS 团队构建时,这很难维护,因为每个解决方案都必须手动添加到构建定义中,并且由于每个项目都在自己的解决方案中,MSBuild 似乎无法利用并行编译。这会导致大约 5 分钟的完整构建时间,虽然并不可怕但并不理想。大多数情况下,从构建定义维护方面来看,它并不理想。

为了解决这个问题,我创建了一个包含所有项目的全球解决方案。这个想法是,如果您希望您的项目由 TFS 自动编译和部署,您必须将您的项目包含在全局解决方案中。这似乎效果很好,因为从构建定义的角度来看,它很容易维护,并将总构建时间缩短到 70 秒。

一个问题是显示的 TFS 构建日志在解决方案下将所有警告和错误分组在一起,而不是按项目将它们分开。这使得很难快速查看哪个项目导致了哪些错误和警告。

有没有一种好方法可以在构建日志摘要视图中查看项目级别的错误/警告消息,而无需深入研究杂乱的构建日志?

4

1 回答 1

1

要回答您的直接问题,我相信答案是否定的(至少在没有大量定制的情况下不会)。

对我来说,这从来不是一个大问题,因为我非常积极地让我的团队将错误/警告降至零,然后通过 TFS Build (/p:TreatWarningsAsErrors=true) 强制执行。这意味着您永远不必在构建摘要中处理数百个警告。

如果您将所有单独的解决方案添加到构建定义中,您始终可以使用 TFS 电动工具“克隆”构建定义以简化维护。您还可以修改构建模板以并行构建解决方案/项目,尽管这会带来文件争用问题的风险。

于 2013-04-30T17:22:53.933 回答