CruiseControl [ . Net ]与 TeamCity 的持续集成?

我想问您,根据实际经验,您认为哪种自动化构建环境更好。我打算做一些。Net 和一些 Java 开发,所以我希望有一个工具,支持这两个平台。

我一直在到处阅读,发现了用于堆栈溢出开发的 Cruisecontrol.net,以及支持在不同操作系统平台和基于不同编程语言的构建代理的 团队城市。那么,如果你在这两方面都有一些实践经验,你更喜欢哪一个,为什么?

目前,我最感兴趣的是这个工具的易用性和管理性,更不用说 CC 是开源的这个事实了,而 TC 在你有很多项目要运行的时候(因为,我需要它来运行少量的项目)是一个许可的主题。

此外,如果有一些其他的工具,满足上述,你认为它值得一个建议-随时包括在讨论中。

30027 次浏览

我最近设置抄送。网。这是一个伟大的应用,但确实需要一点耐心。您将在记事本中大量编辑配置文件:)

它已经存在了一段时间,所以它得到了很好的支持,你通常可以找到一些人谁已经做了你以前想做的事情。网页界面是。这对我们是一个加号,因为我们是一个微软商店。

I havent used TeamCity but I have heard quite a few recommendations of it and it looks pretty.

你可以考虑的第三个选择是: Thoughtworks’Cruise。它是基于 CruiseControl 构建的,但是提供了更多的特性,更容易设置等等。不是免费的(或开源的)。

Http://studios.thoughtworks.com/cruise-continuous-integration

不想把替代工具扔给你: -)

Hudson 是一个很棒的开源替代品,我曾经使用过 CC 和 CC.net,我承认我确实认为它们是很棒的工具。我正在考虑切换到哈德逊,因为它似乎更容易设置和维护。

Https://hudson.dev.java.net/

我已经在不同的项目中成功地使用了它们。从设置和管理的角度来看,TeamCity 更容易处理。你不需要用。配置文件,就像你对 CC 和安装是一件轻而易举的事情。因为你没有很多的项目,我建议团队城市超过 CC,直到你得到的点,团队城市的成本 $。

在我之前的公司,我有过在 Linux 上设置和运行 CruiseControl (Java 版本)的经验。就像大多数人建议的那样,这不是最琐碎的事情。您需要理解它的框架,以便得到可操作/可管理的配置。然而,一旦你度过了这个难关,我觉得 CruiseControl 非常灵活,允许你做不同种类的事情来适应不同的场景。

此外,CruiseControl 文档中的 维基页面也提供了一些有用的信息。

我没有直接使用 TeamCity 的经验,尽管它的测试前提交特性看起来足够有趣。

另一个 CC 工具是 Atlassian 中的 Bamboo。设置起来更容易,界面也更好。不过,它并不像 CruiseControl 提供的那样灵活。

自从产生 Cruise Control (java 版本)以来,我一直在使用持续集成工具。我几乎都试过了。我从来没有像在团队之城那样开心过。它的设置非常简单,并且仍然提供了大量的动力。显示构建时间、单元测试计数、通过率等的构建统计页面非常好。TeamCity 的项目主页也非常有价值。 很简单。NET 项目,您只需告诉 TeamCity 解决方案的位置以及哪些程序集具有测试,这就是它所需要的(源代码管理位置除外)。我们还使用了一些复杂的 MSBuild 脚本,并完成了构建链接。 我还经历了两次 TeamCity 升级,它们都是无痛的。

Cruisecontrol.net 也很有效。设置起来比较棘手,但是它有更长的历史,所以很容易在网上找到解决方案。由于 cruisecontrol.net 是开源的,你也可以选择添加或更改任何你喜欢的东西。自从 cc.tray 发布以来,我一直使用 cruisecontrol.net ,并且为 cc.tray 编写了一些早期代码(谢天谢地,这些代码是由一些更了解它的人重写的)。

来自 ThoughtWorks 的 Cruise 看起来也不错,但我看不出有什么令人信服的理由让我改变。如果我正在开始一个新项目,我可能会尝试一下,但是 TeamCity 已经做了很好的工作,让简单的事情变得简单,同时让复杂的事情变得相当轻松。

Edit: 我们几周前刚刚升级到 TeamCity 5.0,这是又一次无痛升级。它使我们能够利用改进的代码覆盖能力和 GIT 支持。我们现在还在使用个人构建和预测试的提交特性,这些特性已经存在一段时间了。我只是认为我应该更新答案,以表明 TeamCity 不断改进,仍然易于使用。

我同时使用了 CC.net 和 TeamCity。我的任务是为我的组织(5个开发人员)建立和安装 TeamCity。我们的组织使用了一些不常见的实践和工具(至少对于我们这种规模的组织来说) ,比如 Perforce 用于源代码控制,以及在异构操作系统上运行的多个构建代理,这导致了一些初始设置方面的问题。然而,通过电子邮件的支持绝对是一流的一切设置。我在几分钟内就收到了我愚蠢问题的答案。

The interface is intuitive and responsive, as well as feature-packed. The product feels very expensive. Configuration is easy, and the web interface is intellegent enough to update itself without any restarting of the agent or server services, or even refreshing of the page.

我觉得我们正在使用产品的几乎所有高级功能,到目前为止还没有发现任何 bug。依赖集成,嵌套的 NAnt 脚本,Perforce 版本标签,你能想到的,我们都在做。

我强烈推荐 TeamCity 给任何寻找持续集成服务器或任何构建服务器的人。

确保系统,你决定的规模的项目数量,你将需要它来处理..。

我使用 CruiseControl。Net,但我不推荐它用于构建大量的项目... ... 我有一个(可能有点奇怪)的安排,我有许多 C + + 静态库,我组成的应用程序。每个库都依赖于其他库,应用程序会引入一组库并构建。每个 lib 都有一个测试套件。每个应用程序都有一个测试套件。我为5个编译器和(窗口)平台的变体构建。

我发现的第一件事是 CC.Net 的项目触发器并不是你真正需要的,而且多触发器并不能很好地处理项目触发器。项目触发器的工作方式(它们使用 Remoting 连接到存储项目的服务器(即使它是一个由同一个 CC.Net 实例管理的项目) ,然后从该服务器拉出所有项目,并按顺序搜索列表,寻找您感兴趣的项目...)意味着它们不能很好地扩展。一旦超过了一定数量的项目,就会发现 CC.Net 占用了构建机器的大部分 CPU。

当然,它是开源的,所以您可以修复它... ... 而且,我确信对于少数非相互依赖的项目来说,它是没有问题的。

有关我遇到的问题的更多细节以及 CC.Net 的一些补丁,请参见这里的 翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳 http://www.lenholgate.com/archives/cat_ccnet.html

My favorite CI server by far is Hudson. Easy to set up and maintain, lots of nice graphs for showing trends to developers and non-developers, and free.

我目前正在一个项目中使用 TeamCity,我通常对它感到满意,但它生成的许多图并不特别有用,而且它的配置比 Hudson 更复杂。

也就是说,TeamCity 功能强大,可以免费进行多种用途,并且有一个杀手级的特性: 远程运行。您可以直接从 IDEA 或 Eclipse“预先提交”您的签入,在 TeamCity 服务器上运行一个或多个构建配置,只有在构建成功时才提交更改(例如,编译和所有测试都通过)。

考虑到 TeamCity 和 Hudson 都可以在几个小时内启动并运行,也许值得抓住它们并且与您能想到的任何其他工具(比如 CruiseControl)一起并排运行。如果您不能让 CI 服务器快速运行以进行并行比较,那么至少您有一个便于安装和/或配置的数据点。

我是 CC.NET 的超级粉丝。我们目前在 CruiseControl 中有5个项目,并且工作得很好。用手写配置文件可能很痛苦,但是没关系。

但是。

科纳: 持续集成和更好的单元测试屏幕直播(关于 TeamCity 的前1/3)之后,我也将检查 TeamCity。我喜欢集成的单元测试仪表板和配置界面。

我认为 所有人应该在选择 CC.NET 或 TeamCity 之前看看这个视频。

附注: 我希望网上也有一个有价值的 CC.NET 视频。

在过去的一年半时间里,我一直在使用 Teamcity,并且有很好的体验。我已经整合了许多。Net 和 Java 项目以及 MSBuild、 Maven 等使用过的工具。我发现搭建和使用 Teamcity 非常简单。我已经设法让一些 sql 项目运行 CI,这对于其他 CI 工具来说是一个噩梦。
最近升级到 Teamcity 8.0.6,这是无痛的。Teamcity 还提供了一个 REST API,它对于某些场景非常有用。如果你正在使用 powershell 来自动化构建一些 Psake/Teamcity 集成脚本可以在 < a href = “ https://GitHub.com/Jameskovacs/pake/wiki/How-can-i-Integration-pake-with-Team-city?”rel = “ nofollow”> GitHub 上找到