采用Bamboo或TeamCity作为本机Windows C ++构建自动化/ CI服务器?

时间:2011-05-30 12:59:37

标签: c++ build-automation teamcity bamboo

目前,我们正在通过FinalBuilder通过一个非常简单的自行开发的Apache接口运行我们的自动化( not CI)构建,该接口只是在我们的服务器上启动FB脚本。 (我喜欢FinalBuilder,并且会保留它,但它是CI服务器,FinalBuilder Server只是没有削减它恕我直言 - 特别是它不支持任何“代理”概念,目前在机器上分发构建。)

我们正在Windows上进行本机C ++开发,并在需要的地方混合了一点.NET并且有意义。

我们当前的FinalBuilder脚本可以很好地完成所有工作,从创建夜间版本到完整版本(构建/自动翻译/构建/单元测试/创建设置/在网络共享上放置创建的工件/ ......),但我们的 webinterface 排队功能用户可跟踪性报告非常有限。

我环顾四周,似乎TeamCity和Bamboo勾选了相似的框,但我发现的大多数描述仅涵盖Java和/或.NET简单版本。

所以我的具体问题是,给予

  • 几个(20-30)复杂的 FinalBuilder脚本令我满意,我将不得不整合到(“呼叫”)新的自动化/“CI”服务器
  • 原生Windows C ++和.NET项目
  • 实际构建(=编译器调用)目前通过一些Visual Studio解决方案文件完成
  • 目前有一台构建服务器机器,希望扩展到2-3个大气压。
  • 使用JIRA作为问题跟踪器
  • 使用AccuRev作为SCM

哪种工具更适合,以及为什么TeamCity (currently 6.5)Bamboo (currently 3.1)

(请注意,我也希望在TeamCityBamboo论坛上获得一些高度主观的答案。)

4 个答案:

答案 0 :(得分:9)

对于TeamCity方面,它与Jira集成,具有AccuRev插件,并且对VisualStudio / C ++项目有很好的支持。它也可以运行任意脚本。

您可以通过基于HTTP的API触发构建并获取一些构建结果。在UI中,您可以查看已构建的更改以及构建配置。轻松将任何自定义HTML报告集成到TeamCity UI(无编码),发布工件。

可能你应该尝试两种解决方案,看看哪种解决方案更适合你(使用Teamcity,你可以免费使用全功能服务器,唯一的限制是构建代理的数量和构建配置的数量)。

免责声明:我是TeamCity开发人员

答案 1 :(得分:4)

我发现Bamboo比TeamCity更可信。以下是我的理由:

  • VS或Eclipse的Jira插件也是Bamboo插件。 :)不需要额外的加载项。
  • 更好地支持Jira集成。
  • 不错的用户界面,就像您用于Jira的界面一样。
  • 能够更好地与其他Atlassian工具集成,例如FishEye。
  • 便宜。 10美元的许可证就足够贵了。
  • Bamboo上的附加组件比TeamCity更多,插件很多。

答案 2 :(得分:2)

为了完整起见:我最终使用了Jenkins + Finalbuilder。 : - )

答案 3 :(得分:1)

我在类似的环境中工作,使用FinalBuilder进行构建自动化,使用AccuRev进行源代码控制和本机Windows项目。

我最终选择了Electric Commander作为这项工作的最佳CI解决方案。可以重用部分FinalBuilder脚本并从Electric Commander中调用它们,但只需调用FB脚本作为一个构建步骤就会导致您错过使用Electric Commander的一些关键优势 - 实时日志文件处理能力在电子指挥官和数据收集和报告中直接并行化到各个步骤级别。

Electric Commander有一个API,可以公开所有产品功能,可以与AccuRev触发器结合使用,以实现非常灵活的解决方案。

免责声明 - 我非常喜欢Electric Commander,我加入了公司,现在受雇于Electric Cloud。

您可以转到www.electric-cloud.com并点击“试一试!”来试试电动指挥官。