采用 Bamboo 或 TeamCity 作为本机 Windows C++构建自动化/CI 服务器?
目前,我们正在通过 FinalBuilder 运行自动化(不是 CI)构建 通过一个非常简单的自制 Apache 界面,该界面仅在我们的服务器上启动 FB 脚本。 (我喜欢 FinalBuilder,并且会保留它,但它是 CI 服务器,FinalBuilder Server 只是不恕我直言,尤其是它目前不支持任何“代理”概念来跨机器分发构建。)
我们正在 Windows 上进行本机 C++ 开发,并在需要且有意义的地方混合了一点 .NET。
我们当前的 FinalBuilder 脚本做得很好,从创建夜间构建到完整发布(构建/自动翻译/构建/单元测试/创建设置/将创建的工件放在网络共享上/...),但是我们的网络界面< /em>、排队能力、用户可追溯性和报告非常有限。
我环顾四周,似乎 TeamCity 和 Bamboo 勾选了类似的框,但我能找到的大多数描述仅涵盖 Java 和/或 .NET 简单构建。
所以我的具体问题是,给定
- 几个(20-30)复杂的 FinalBuilder 脚本,它们的工作效果令我满意,并且我必须将其集成到(“调用”)新的自动化/“CI”服务器
- 原生 Windows C++ 和 .NET 项目
- 实际构建(= 编译器调用)目前通过一些 Visual Studio 解决方案文件完成 当前
- 一台构建服务器计算机,希望扩展到 2-3 台自动取款机。
- 使用 JIRA 作为问题跟踪器,
- 使用 AccuRev 作为 SCM
哪种工具更适合,以及原因:TeamCity (当前为 6.5) 或 Bamboo(当前为3.1)。
At the moment, we are running our automated (not CI as such) builds via FinalBuilder via a very simple homegrown Apache interface that just launches the FB scripts on our server. (I like FinalBuilder, and will keep it, but it's CI server, FinalBuilder Server just doesn't cut it IMHO -- especially it doesn't support any "agent" concept at the moment to distribute builds across machines.)
We are doing native C++ development on Windows with a bit .NET mixed in where it's needed and makes sense.
Our current FinalBuilder scripts do everything quite well, from creating nightly builds to full releases (build / automated translation / build / unit test / create setup / put created artifacts on a network share / ...), but our webinterface, queuing abilities, user traceability and reporting is pretty limited.
I have looked around and it seems that TeamCity and Bamboo tick similar boxes, but most descriptions I can find cover only Java and/or .NET simple builds.
So my specific question is, given
- several (20-30) complicated FinalBuilder Scripts that work to my satisfaction and that I will have to integrate into ("call" from) the new automation/"CI" server
- Native Windows C++ and .NET projects
- The actual build (= compiler invocation(s)) is done via a few Visual Studio solution files at the moment
- Currently one build server machine, wishing to scale to 2-3 atm.
- Using JIRA as issue tracker
- using AccuRev as SCM
which tool is better suited, and why: TeamCity (currently 6.5) or Bamboo (currently 3.1).
(Note that I also hope to get some highly subjective answers on the TeamCity and Bamboo forums.)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
TeamCity 方面,它与 Jira 集成,具有 AccuRev 插件,并且对 VisualStudio/C++ 项目有良好的支持。它还可以运行任意脚本。
您可以通过基于HTTP的API触发构建并获取一些构建结果。在 UI 中,您可以查看已构建哪些更改以及哪些构建配置。轻松将任何自定义 HTML 报告集成到 TeamCity UI 中(无需编码),发布工件。
也许,您应该尝试这两种解决方案,看看哪一种更适合您(使用 Teamcity,您可以免费使用全功能服务器,唯一的限制是构建代理的数量和构建配置的数量)。
免责声明:我是 TeamCity 开发人员
For TeamCity side, it integrates with Jira, has AccuRev plugin, and has a good support for VisualStudio/C++ projects. It can also run arbitrary scripts.
You can trigger a build and obtain some build results via HTTP-based API. In the UI, you can see which changes have been built and in which build configurations. Easily integrate any custom HTML reports into TeamCity UI (no coding), publish artifacts.
Probably, you should try both solutions and see which one is more suitable for you (with Teamcity, you can use full-functional server for free, the only limit is number of build agents and number of build configurations).
Disclaimer: I'm a TeamCity developer
我发现 Bamboo 比 TeamCity 更可信。我的理由如下:
I found Bamboo more credible than TeamCity. Here are my reasons:
为了完整起见:我最终使用了 Jenkins + Finalbuilder。 :-)
For completeness' sake: I ended up using Jenkins + Finalbuilder. :-)
我在类似的环境中工作,使用 FinalBuilder 进行构建自动化,使用 AccuRev 进行源代码控制和本机 Windows 项目。
我最终选择 Electric Commander 作为该工作的最佳 CI 解决方案。可以重用 FinalBuilder 脚本的一部分并从 Electric Commander 调用它们,但简单地调用 FB 脚本作为一个构建步骤会导致您错过使用 Electric Commander 的一些关键优势 - 实时日志文件处理、能力将 Electric Commander 以及数据收集和报告中的各个步骤并行化。
Electric Commander 拥有一个 API,可公开所有产品功能,可与 AccuRev 触发器结合使用以实现非常灵活的解决方案。
免责声明 - 我非常喜欢 Electric Commander,因此加入了该公司,目前受雇于 Electric Cloud。
您可以访问 www.electric-cloud.com 并单击“尝试一下!”来尝试 Electric Commander。
I worked in a similar environment using FinalBuilder for build automation, AccuRev for source control and a native windows projects.
I ended up selecting Electric Commander as the best CI solution for the job. It is possible to reuse parts of the FinalBuilder scripts and call them from Electric Commander but simply calling the FB script as one build step would result in you missing out on some of the key advantages of using Electric Commander - realtime log file processing, the ability to parallelize right down to individual step levels in Electric Commander and data collection and reporting.
Electric Commander has an API that exposes all product functionality which can be used in combination with AccuRev triggers to achieve a very flexible solution.
Disclaimer - I liked Electric Commander so much I joined the company and am currently employed by Electric Cloud.
You can try Electric Commander by going to www.electric-cloud.com and clicking on "Try It!"