我们有一个目前使用Make on Linux构建的C ++项目。我希望自动化它类似于CruiseControl下的Java项目。
1)是否有类似于CruiseControl for C ++项目的项目?
OR
2)使用CruiseControl进行C ++项目是否有一个很好的“操作方法”?
答案 0 :(得分:6)
我一直在寻找在Linux上为C ++项目设置CruiseControl,但遇到了Hudson。它有一个文件/一个命令行设置,你启动并运行。管理访问是通过漂亮的Web界面。我强烈推荐它。
Hudson与CC相比似乎更容易设置和管理,而且您可以通过插件访问构建静态,错误/警告(删除目录并且它们可用),并且您可以将其设置为在构建失败时自动发送电子邮件。
我创建了shell脚本,为每个项目目录调用make。我指着Hudson运行那个脚本。构建是通过cron设置设置 - 通过Web界面设置。 我每30分钟检查一次代码更改并从perforce和重新编译中获取构建。
如果你不确定试一试。起床和跑步只需几分钟。我已经下载了它,因为我想看看我们当前的构建设置有什么可能,我从来没有回头看,它已经运行了近一年没有任何问题。
答案 1 :(得分:3)
我不知道CruiseControl,因为我们正在使用TeamCity,但CruiseControl应该能够执行命令行构建,即只调用Make。这没什么不对。在TeamCity中,将进度通知添加到make文件(只是以特定格式输出)甚至很容易,因此它与“本机”项目没有太大区别。我不知道CruiseControl在这方面走了多远。
我们有一个大型C ++项目,使用CMake构建,在命令行上运行,甚至可以正确报告单元测试结果(使用Boost :: Test)。
哦,如果CruiseControl不支持命令行运行程序或Java以外的项目类型,那么您应该查看TeamCity作为替代。
答案 2 :(得分:1)
我们正在运行Hudson来构建C ++和Java代码的混合体,并且它运行良好。与CruiseControl相比,一个优势是Hudson拥有完整的Web界面,因此您无需手动编辑任何XML文件。
答案 3 :(得分:0)
我们正在使用cruisecontrol来构建我们的C ++和Java项目。我们的C ++项目使用SCons而不是make,我们只需通过Ant Ant任务从cruisecontrol exec脚本调用scons。
答案 4 :(得分:0)
我们使用CruiseControl进行C ++项目。我们只需使用 exec 在Ant脚本中执行devenv.com即可构建解决方案。