我正在考虑在工作中实现一个非常大的连续构建(数百个Visual Studio解决方案,数千个项目)。它包括.NET,C ++和VB6代码。我们在TeamCity上构建了一些解决方案,但依赖关系设置不正确。保持源代码和TeamCity(或其他工具)之间的依赖关系在这种规模上听起来完全不切实际。 有没有人知道是否有工具/插件可以在TeamCity中自动检测解决方案依赖关系?使用其他持续集成工具怎么样?即使它只适用于.NET项目,这仍然是一个很大的帮助。
我找到了一个小的命令行工具(gittup.org/tup),它说它通过监视文件访问来推断依赖关系。似乎可以将这种技术应用于更大规模的构建工具,但我不知道它是否已经完成。或者也许还有其他解决方案。
答案 0 :(得分:0)
检测很困难。
我公司的AnthillPro工具由拥有数百个相互依赖的组件且需要管理这些构建的团队使用 - 并且巧妙地仅重建受给定更改影响的组件。
我见过的一种非常成功的方法是将依赖关系定义推送给开发人员。有些团队要求他们管理一个列出他们的解决方案间依赖关系的文件 - “需要下载哪些其他内容并将其放入lib / bin目录以供您的解决方案编译”。这类似于许多Java开发团队使用Maven所做的事情。我希望在开发团队中分发依赖关系定义而不是尝试检测。
此时构建管理工具的作用是在构建时解析该文件并在后台更新其依赖关系图的模型。该信息既可用于工件检索,也可用于触发相关构建。