简体   繁体   English

“CruiseControl”自动化C ++项目?

[英]“CruiseControl” Automation for C++ projects?

We've got a C++ Project that currently uses Make on Linux to build. 我们有一个目前使用Make on Linux构建的C ++项目。 I'd like to automate it similar to a Java Project under CruiseControl. 我希望自动化它类似于CruiseControl下的Java项目。

1) Is there a project similar to CruiseControl for C++ projects? 1)是否有类似于CruiseControl for C ++项目的项目?

OR 要么

2) Is there a good "how-to" on using CruiseControl for C++ Projects? 2)使用CruiseControl进行C ++项目是否有一个很好的“操作方法”?

I've been looking at setting up CruiseControl for C++ projects on Linux but came across Hudson . 我一直在寻找在Linux上为C ++项目设置CruiseControl,但遇到了Hudson It has a one file/one command line setup and you're up and running. 它有一个文件/一个命令行设置,你启动并运行。 The management access is via nice web interface. 管理访问是通过漂亮的Web界面。 I highly recommend it. 我强烈推荐它。

Hudson compared to CC seems easier to setup and manage plus you have access to build statics, errors/warnings via plugins (drop in directory and they are available) and you can set it up to automatically email when build fails. Hudson与CC相比似乎更容易设置和管理,而且您可以通过插件访问构建静态,错误/警告(放入目录并且可用),并且您可以将其设置为在构建失败时自动发送电子邮件。

I've created shell script that invokes make for each project directory. 我已经创建了shell脚本,为每个项目目录调用make。 I pointed Hudson to run that scrip. 我指着Hudson运行那个脚本。 The build is setup via cron like settings - setup via web interface. 构建是通过cron设置设置 - 通过Web界面设置。 I have it checking every 30 minutes for code changes and getting build from perforce and recompiling. 我每30分钟检查一次代码更改并从perforce和重新编译中获取构建。

If you're not sure give it a try. 如果你不确定试一试。 It takes only couple of minutes to get up and running. 起床和跑步只需几分钟。 I've downloaded it because I wanted to see what is possible with our current build setup and I've never looked back, it's been running for nearly a year without any problems. 我已经下载了它,因为我想看看我们当前的构建设置有什么可能,而且我从未回头,它已经运行了近一年没有任何问题。

I don't know CruiseControl since we're using TeamCity, but CruiseControl should be able to perform a command line build, ie just call Make. 我不知道CruiseControl,因为我们正在使用TeamCity,但CruiseControl应该能够执行命令行构建,即只调用Make。 There's nothing wrong with that. 这没什么不对。 In TeamCity, it's even easy to add progress notifications to the make file (just output in a specific format), so it doesn't feel very different from "native" projects. 在TeamCity中,将进度通知添加到make文件(只是以特定格式输出)甚至很容易,因此它与“本机”项目没有太大区别。 I don't know how far CruiseControl goes in this regard. 我不知道CruiseControl在这方面走了多远。

We have a large C++ project, built with CMake, running on command line and it even reports the unit test results (with Boost::Test) correctly. 我们有一个大型C ++项目,使用CMake构建,在命令行上运行,甚至可以正确报告单元测试结果(使用Boost :: Test)。

Oh, and if CruiseControl does not support a command line runner or project types other than Java, you should have a look at TeamCity as a replacement. 哦,如果CruiseControl不支持命令行运行器或Java以外的项目类型,您应该看看TeamCity作为替代品。

We're running Hudson to build a mixture of C++ and Java code, and it works very well. 我们正在运行Hudson来构建C ++和Java代码的混合体,并且它运行良好。 One advantage over CruiseControl is that Hudson has a complete Web interface so you will never have to edit any XML files manually. 与CruiseControl相比,一个优势是Hudson具有完整的Web界面,因此您无需手动编辑任何XML文件。

We are using cruisecontrol to build both our C++ and Java projects. 我们使用cruisecontrol来构建我们的C ++和Java项目。 Our C++ projects use SCons instead of make and we simply call scons from the cruisecontrol Ant script via the exec Ant task. 我们的C ++项目使用SCons而不是make,我们只需通过exec Ant任务从cruisecontrol Ant脚本调用scons。

We use CruiseControl for C++ projects. 我们使用CruiseControl进行C ++项目。 We just execute devenv.com in an Ant script using exec to build a solution. 我们只需使用exec在Ant脚本中执行devenv.com即可构建解决方案。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM