代码之家  ›  专栏  ›  技术社区  ›  zappan

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

  •  115
  • zappan  · 技术社区  · 17 年前

    我想问一下,根据实际经验,你认为哪种自动化生成环境更好。我计划做一些.Net和Java开发,所以我希望有一个支持这两种平台的工具。

    我一直在四处阅读,发现了 CruiseControl.NET ,用于stackoverflow开发,以及 TeamCity 它支持在不同操作系统平台上基于不同编程语言构建代理。那么,如果你在这两方面都有一些实际经验,你更喜欢哪一个?为什么?

    11 回复  |  直到 13 年前
        1
  •  111
  •   Mike Two    16 年前

    自从产生巡航控制(java版本)以来,我一直在使用持续集成工具。我几乎都试过了。我从来没有像和TeamCity在一起时那样快乐过。它的设置非常简单,但仍然提供了大量的电源。显示构建时间、单元测试计数、通过率等的构建统计页面非常好。TeamCity的项目主页也非常有价值。 对于简单的.NET项目,您可以告诉TeamCity解决方案在哪里,哪些程序集有测试,这就是它所需要的(除了源代码管理位置)。我们还使用了一些复杂的MSBuild脚本,并完成了构建链接。 我也经历了两次TeamCity升级,他们都是无痛的。

    CruiseControl.NET也运行良好。设置起来比较复杂,但它有较长的历史,因此很容易在web上找到解决方案。由于CruiseControl.NET是开源的,您还可以选择添加或更改任何您喜欢的内容。自从CruiseControl.NET发布以来,我就一直在使用它,并为cc.tray编写了一些早期的代码(谢天谢地,这些代码是由更了解它的人重新编写的)。

    编辑:

        2
  •  33
  •   boj    13 年前

    我是CC.NET的超级粉丝。我们目前在CruiseControl中有5个项目,工作非常出色。手动编写配置文件可能会很痛苦,但也没关系。

    .

    之后 Kona: Continuous Integration and Better Unit Testing 屏幕广播(关于TeamCity的前1/3)我也会查看TeamCity。我喜欢集成单元测试仪表板和配置界面。

    每个人

        3
  •  15
  •   OtherDevOpsGene    17 年前

    到目前为止,我最喜欢的CI服务器是Hudson。易于设置和维护,有许多漂亮的图表向开发人员和非开发人员显示趋势,而且是免费的。

    我目前正在一个项目中使用TeamCity,我对它总体上很满意,但它生成的许多图形并不是特别有用,而且配置起来比Hudson更复杂。

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

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

        4
  •  12
  •   SaaS Developer    17 年前

    我已经在不同的项目中成功地使用了它们。从设置和管理的角度来看,城市队更容易处理。您不必像使用CC一样随意使用.config文件,安装很容易。因为你没有太多的项目,我推荐TeamCity而不是CC,直到你知道TeamCity的成本是$$。

        5
  •  12
  •   user28669    17 年前

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

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

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

        6
  •  3
  •   Scott James    17 年前

    不想向您扔其他工具:-)

    Hudson是一个伟大的开源替代品,我使用过CC和CC.net,我承认我确实认为它们是很棒的工具。我正在考虑换成哈德逊,因为它的安装和维护要容易得多。

    https://hudson.dev.java.net/

        7
  •  3
  •   Len Holgate    17 年前

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

    当然,它是开源的,所以你可以修复它。。。而且,我相信这对于少量非相互依赖的项目来说是很好的。

    有关我遇到的问题和CC.Net的一些修补程序的更多详细信息,请参见此处 http://www.lenholgate.com/archives/cat_ccnet.html

        8
  •  2
  •   alexmac    17 年前

    我最近安装了cc.net。这是一个很好的应用程序,但确实需要一点耐心。您将在记事本中编辑许多配置文件:)

    我没有使用过TeamCity,但我听过很多关于它的建议,它看起来很不错。

        9
  •  2
  •   dna Dale Ragan    13 年前

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

    此外,CruiseControl文档 wiki page 也有一些有用的信息。

    我没有团队城市的直接经验。尽管它的测试前提交功能看起来很有趣。

    Bamboo

        10
  •  1
  •   TheSmurf    17 年前

    您可能需要考虑的第三种选择:Thoughtworks’Cruise。它是建立在CruiseControl之上的,但是提供了更多的功能,更容易的设置,等等。不是免费的(或者开源的)。

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

        11
  •  0
  •   Noctis    9 年前
    推荐文章