我想为在 Visual Studio 2005 中开发的非托管 C++ 代码设置构建服务器。构建服务器应该能够执行以下操作:
- 监控 Subversion 存储库的代码更改并安排构建
- 从 Subversion check out 代码并运行单元测试
- 提供某种关于构建成功和与之前构建相比的变化的报告
我最初一直在考虑将 CruiseControl 与 Ant 结合使用。有更好的解决方案吗?也许是 CruiseControl.Net 和 NAnt?
最佳答案
NAnt 需要大量工作才能有效地构建 C++。它确实是一个彻头彻尾的 .NET 构建系统。我们正在为四个 C++ 平台和一组 .NET 工具构建我们的标题,并且花了一些时间让 NAnt 适应我们的需求。例如,NAnt 的 C++ 依赖分析非常糟糕,我们不得不自己编写。它有很多性能问题,我们不得不对其进行破解才能修复。
所以不要在这上面双脚跳进去。做一些初步测试以确保它真的可以做你想做的事情,并了解你需要为 C++ 修改多少。
此外,我们还使用 CruiseControl.NET 来处理一些 NUnit 内容,我们已将这些内容构建到驱动我们正在开发的游戏的工具之一中。对此非常满意,设置起来非常容易。在这里竖起大拇指。
在之前的演出中,我在您描述的确切场景中使用了 Final Builder - 在构建服务器上。本地构建是使用 Visual Studio 完成的。这是一个非常棒的产品,如果你有一点钱可以花,我会认真考虑的。我们从中得到了很好的结果。
在我现在的公司,我们选择了 NAnt,因为我们不想为团队中的每个工程师都购买 FB。我们也不喜欢 FB 是闭源的。所以我们 100% Nant 并且喜欢它。只是花了一些时间让它成型!
关于c++ - 为 C++ 构建解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/296728/