0

我正在考虑在工作中实现一个非常大的连续构建(数百个 Visual Studio 解决方案,数千个项目)。它包括 .NET、C++ 和 VB6 代码。我们在 TeamCity 上构建了一些解决方案,但依赖项设置不正确。在这种规模下,保持源代码和 TeamCity(或其他工具)之间的依赖关系同步听起来完全不现实。 有谁知道是否有工具/插件可以在 TeamCity 中自动检测解决方案依赖项?使用其他持续集成工具怎么样?即使它仅适用于 .NET 项目,这仍然是一个很大的帮助。

我找到了一个小型命令行工具(gittup.org/tup),它说它通过监视文件访问来推断依赖关系。似乎可以将此技术应用于更大规模的构建工具,但我不知道它是否已经完成。或者也许还有其他解决方案。

4

1 回答 1

0

检测很困难。

我公司的AnthillPro工具被拥有数百个相互依赖的组件并需要管理这些构建的团队使用 - 并且巧妙地仅重建受给定更改影响的组件。

我见过的一种非常成功的方法是将依赖项定义下推给开发人员。一些团队要求他们管理一个列出其解决方案间依赖关系的文件 - “需要下载哪些其他内容并将其放入 lib/bin 目录以供您的解决方案编译”。这类似于许多 Java 开发团队使用 Maven 所做的事情。我希望在开发团队中分发依赖定义,而不是尝试检测。

此时构建管理工具的作用是在构建时解析该文件并在幕后更新其依赖关系图模型。该信息既可用于工件检索,也可用于触发相关构建。

于 2012-08-01T19:35:01.410 回答