Cruisecontrol和哈德逊是两个受欢迎的连续一体化系统。虽然这两个系统都能够做到自动连续建造得很好,它似乎只是一个很容易建立一批或bash建立脚本,然后使用Windows计划或计划安排的基础之上。

是否有更好的连续整合的系统可用C++的项目?或只是使用一个剧本,一个计划程序的简化方式?

有帮助吗?

解决方案

我们已经被使用 CruiseControl CI C++的项目。虽然它是我们唯一使用蚂蚁的蚂蚁建立脚本CruiseControl只是开始我们的正常建立的脚本,所以这是非常简单,我们还没有真正需要更新它在很长一段时间。因此事实上,CrusieControl是基于Java没有真正的问题在所有对于我们。

主要的利益使用像巡航控制

  • 一个很好的网页显示出建设状态
  • 电子邮件之后,每一个建立或之后未能建立
  • 自建立之后提交源控制系统
  • 有firefox插监测建立状态
  • 显示出任何生成错误。
  • 显示了什么文件已经改变,因为最后的建立(良好的看到其开发打破了建立)

当然你可以写脚本自己做所有这一切,但是,为什么所有工作?在长期运行的额外的初始成本的设立CruiseControl(或类似的东西)是可能远远低于成本的维护和更新定义CI建立脚本。

如果所有你需要的是启动一日建立一个简单脚本开始通过cron足你的需要,然后通过各种手段这样做。然而,其中一个优点CI是,你得到一个建立状态报告后,每一个检查中。编写脚本,这样做需要更多的工作,并CruiseControl已经这样做了。

其他提示

我们使用 Hudson 进行CI和 SonarQube 代码指标。它们是集成的,Hudson有一些插件,没有cronjob可以击败。

一个很棒的插件是CI游戏,它可以分析谁破坏了构建版本以及谁在不破坏它的情况下提交。 Hudson有插件可以使用VMWare,Selenium,SVN,CSV,Git。它有RSS联合,可以帮助您自动化更多其他内容。

哈德森很棒......

我们一直在使用 Dart信息中心。它是开源的,但由 KitWare 驱动。他们已经将名称改为 CDash ,我认为这仍然有能力。我们正在进行多种测试,包括在调试和发布模式下跨10个不同平台进行夜间和持续集成,以及运行1000次应用程序测试并在那里报告结果。

我一直在使用 Buildbot 来获取 Spring RTS引擎项目成功完成。

您也可以尝试 JetBrains的TeamCity 。它是一种商业产品,但它提供了多达20种构建配置的免费许可。

持续集成(CI)工具的一个很好的功能是每次在源控件存储库中检查某些内容时都会触发构建。

如果那不是您需要的,那么您可能更适合使用Windows任务计划程序或cron作业。

此外,CI工具还带有(Web)仪表板和高级日志记录功能。

您的问题似乎更多“我为什么要使用CI工具”?那么“我应该使用哪种CI工具”。如果批处理脚本满足您的需求,请使用它。 (重新)只有在不需要CI工具作为附加组件时,才能更轻松地创建构建环境。如果您想要源控件触发构建,仪表板,旧构建结果存储或其他日志记录,请使用CI工具并避免在批处理或shell脚本中开发所有此类功能。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top