我准备第一次使用持续集成。我将使用 Nant 进行自动化构建和测试任务,并尝试找到合适的 CI 工具来轮询存储库并执行 Nant 脚本。
到目前为止,我已经大致研究了以下内容:
- 哈德逊
- 巡航控制
- 德拉科
到目前为止,我的感觉是,由于大部分工作将由 Nant 完成,Draco 会很好,因为它应该很容易安装/设置。另一方面,Cruise Control 和 Hudson 可能会提供更好的报告选项。
将 Nant 用于构建和测试任务时,执行持续集成的最佳方式是什么?
我准备第一次使用持续集成。我将使用 Nant 进行自动化构建和测试任务,并尝试找到合适的 CI 工具来轮询存储库并执行 Nant 脚本。
到目前为止,我已经大致研究了以下内容:
到目前为止,我的感觉是,由于大部分工作将由 Nant 完成,Draco 会很好,因为它应该很容易安装/设置。另一方面,Cruise Control 和 Hudson 可能会提供更好的报告选项。
将 Nant 用于构建和测试任务时,执行持续集成的最佳方式是什么?
我们使用CruiseControl.NET作为我们的 CI 服务器以及我们在 NAnt 中的完整构建系统。在过去的 5 年里,它运行得非常好。从那以后,我研究了其他替代方案,但找不到任何令人信服的理由来切换。
CruiseControl.NET 对不同的源代码控制系统有着惊人的支持。此外,我喜欢他们的应用程序的可扩展性,因为我们已经构建了一些集成到其中的系统。
你看过TeamCity吗?我将它用于我的个人项目。
我不能代表列出的应用程序,但我是 buildbot 的忠实粉丝:http:
//buildbot.net/trac
它将在任何运行 Python 的平台上构建/测试(因此,如果您的软件应该在多个操作系统上工作,每个操作系统都可以覆盖),它非常易于使用,并且具有极强的可扩展性。
我建议使用 CruiseControl.NET 而不是普通的 CruiseControl,尽管我在这里的经验有限。
我不敢说哪个最好,但是 CruiseControl.NET 确实工作得很好,尤其是基于 NAnt 的构建。不过,就个人而言,它是我唯一使用过的。
巡航控制似乎是事实上的标准(尽管我没有数据支持)。
您可能会考虑的另一个选择(尽管我没有尝试过)是 ThoughtWorks 的新 Cruise 产品(请参阅http://studios.thoughtworks.com/cruise-continuous-integration)。几年前,ThoughtWorks 开发人员是 Cruise Control 的父亲/母亲。最多两个“代理”免费。
我们已经开始在我的公司使用 TeamCity,我必须说我对这款产品印象深刻。我们之前尝试过 CruiseControl.NET,但 TeamCity 更容易配置,而且配置更加透明,因为您可以从 Web GUI 控制几乎所有内容。
正如其他人已经建议的那样,我会说TeamCity。你可能还要等到本周末,因为他们的新版本(TC 4.0)将会发布(也许今天,也许明天)......
我们使用 CruiseControl.NET 并利用它的预处理器。
对于 NAnt 部分,我们使用 UppercuT。UppercuT 使用 NAnt 来构建,它是非常容易使用的构建框架。
http://code.google.com/p/uppercut/
这里有一些很好的解释:Uppercut
我们公司使用 Hudson 和 NAnt。从我的角度来看,它工作得很好。