“巡航控制” C++ 自动化 项目?
我们有一个 C++ 项目,当前使用 Linux 上的 Make 来构建。 我想将其自动化,类似于 CruiseControl 下的 Java 项目。
1)是否有类似CruiseControl的C++项目?
或者
2) 是否有关于在 C++ 项目中使用 CruiseControl 的良好“操作方法”?
We've got a C++ Project that currently uses Make on Linux to build. I'd like to automate it similar to a Java Project under CruiseControl.
1) Is there a project similar to CruiseControl for C++ projects?
OR
2) Is there a good "how-to" on using CruiseControl for C++ Projects?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
我一直在考虑在 Linux 上为 C++ 项目设置 CruiseControl,但遇到了 Hudson。 它有一个文件/一个命令行设置,您可以启动并运行。 管理访问是通过漂亮的网络界面进行的。 我强烈推荐它。
与 CC 相比,Hudson 似乎更容易设置和管理,而且您可以通过插件访问构建静态信息、错误/警告(放入目录中即可使用),并且可以将其设置为在构建失败时自动发送电子邮件。
我创建了为每个项目目录调用 make 的 shell 脚本。 我指示哈德森运行那份票据。 构建是通过类似于 cron 的设置来设置的 - 通过 Web 界面进行设置。
我让它每 30 分钟检查一次代码更改,并从 perforce 进行构建并重新编译。
如果您不确定,请尝试一下。 只需几分钟即可启动并运行。 我下载它是因为我想看看我们当前的构建设置有什么可能,而且我从未回头,它已经运行了近一年,没有任何问题。
I've been looking at setting up CruiseControl for C++ projects on Linux but came across Hudson. It has a one file/one command line setup and you're up and running. The management access is via nice web interface. 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.
I've created shell script that invokes make for each project directory. I pointed Hudson to run that scrip. The build is setup via cron like settings - setup via web interface.
I have it checking every 30 minutes for code changes and getting build from perforce and recompiling.
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.
我不知道 CruiseControl,因为我们使用的是 TeamCity,但 CruiseControl 应该能够执行命令行构建,即只需调用 Make。 这没有什么问题。 在 TeamCity 中,甚至可以轻松地将进度通知添加到 make 文件(只需以特定格式输出),因此感觉与“本机”项目没有太大不同。 我不知道CruiseControl在这方面走了多远。
我们有一个大型 C++ 项目,使用 CMake 构建,在命令行上运行,它甚至可以正确报告单元测试结果(使用 Boost::Test)。
哦,如果 CruiseControl 不支持命令行运行程序或 Java 以外的项目类型,您应该看看 TeamCity 作为替换。
I don't know CruiseControl since we're using TeamCity, but CruiseControl should be able to perform a command line build, i.e. just call 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. I don't know how far CruiseControl goes in this regard.
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.
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.
我们正在运行 Hudson 来构建 C++ 和 Java 代码的混合体,并且效果非常好。 与 CruiseControl 相比,Hudson 的优势之一是拥有完整的 Web 界面,因此您无需手动编辑任何 XML 文件。
We're running Hudson to build a mixture of C++ and Java code, and it works very well. One advantage over CruiseControl is that Hudson has a complete Web interface so you will never have to edit any XML files manually.
我们将 CruiseControl 用于 C++ 项目。 我们只需使用 exec 在 Ant 脚本中执行 devenv.com 即可构建解决方案。
We use CruiseControl for C++ projects. We just execute devenv.com in an Ant script using exec to build a solution.
我们使用 cruisecontrol 来构建我们的 C++ 和 Java 项目。 我们的 C++ 项目使用 SCons 而不是 make,我们只需从 Cruisecontrol 调用 scons Ant 脚本通过 exec Ant 任务。
We are using cruisecontrol to build both our C++ and Java projects. Our C++ projects use SCons instead of make and we simply call scons from the cruisecontrol Ant script via the exec Ant task.