4

我们有一个 C++ 项目,目前使用 Linux 上的 Make 来构建。我想自动化它类似于 CruiseControl 下的 Java 项目。

1) 有没有类似CruiseControl for C++ 项目的项目?

或者

2) 在 C++ 项目中使用 CruiseControl 是否有很好的“操作方法”?

4

5 回答 5

6

我一直在寻找在 Linux 上为 C++ 项目设置 CruiseControl 但遇到了Hudson。它有一个文件/一个命令行设置,您可以启动并运行。管理访问是通过漂亮的 Web 界面进行的。我强烈推荐它。

与 CC 相比,Hudson 似乎更易于设置和管理,而且您可以通过插件访问构建静态、错误/警告(放入目录并且它们可用),并且您可以将其设置为在构建失败时自动发送电子邮件。

我创建了为每个项目目录调用 make 的 shell 脚本。我指示哈德森运行该脚本。构建是通过类似设置的 cron 设置的 - 通过 Web 界面设置。我让它每 30 分钟检查一次代码更改,并从 perforce 和重新编译中获取构建。

如果您不确定,请尝试一下。只需几分钟即可启动并运行。我下载它是因为我想看看我们当前的构建设置有什么可能,而且我从未回头,它已经运行了将近一年,没有任何问题。

于 2009-05-19T15:24:57.650 回答
3

我不知道 CruiseControl,因为我们使用的是 TeamCity,但 CruiseControl 应该能够执行命令行构建,即只需调用 Make。这没什么不好。在 TeamCity 中,甚至可以轻松地将进度通知添加到 make 文件(只是以特定格式输出),因此它与“原生”项目并没有太大区别。我不知道 CruiseControl 在这方面能走多远。

我们有一个使用 CMake 构建的大型 C++ 项目,在命令行上运行,它甚至可以正确报告单元测试结果(使用 Boost::Test)。

哦,如果 CruiseControl 不支持命令行运行器或 Java 以外的项目类型,您应该看看TeamCity作为替代品。

于 2009-05-19T15:14:33.910 回答
1

我们正在运行Hudson来构建 C++ 和 Java 代码的混合体,它运行良好。与 CruiseControl 相比的一个优势是 Hudson 具有完整的 Web 界面,因此您永远不必手动编辑任何 XML 文件。

于 2009-05-19T15:18:12.360 回答
0

我们正在使用Cruisecontrol来构建我们的 C++ 和 Java 项目。我们的 C++ 项目使用SCons而不是 make,我们只需通过exec Ant 任务从 Cruisecontrol Ant脚本调用 scons。

于 2009-05-19T17:03:21.270 回答
0

我们将 CruiseControl 用于 C++ 项目。我们只是使用exec在 Ant 脚本中执行 devenv.com来构建解决方案。

于 2009-05-19T17:10:15.847 回答