Closed. This question is opinion-based。它当前不接受答案。
6年前关闭。
6年前关闭。
Locked. This question and its answers are locked,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。
Cruisecontrol和Hudson是两个流行的持续集成系统。尽管两个系统都能很好地完成自动连续构建,但是创建批处理或bash构建脚本,然后使用Windows Scheduler或cron来调度构建似乎要容易得多。
是否为C++项目提供了更好的持续集成系统?还是仅使用脚本和调度程序是更简单的方法? 一个不错的网页,显示构建状态 每次构建后或构建失败后发送电子邮件 提交到源代码管理系统 后自动构建一个firefox插件,用于监视构建状态 显示任何构建错误的输出。 显示自上次构建以来已更改了哪些文件(有助于查看哪个开发人员破坏了投标)
当然,您可以自己编写一个脚本来完成所有这些工作,但是为什么所有这些都能起作用?从长远来看,设置CruiseControl(或类似工具)的额外初始成本可能远低于维护和更新自定义CI构建脚本的成本。
如果您只需要启动每日构建,而由cron启动的简单脚本就可以满足您的需求,那么一定可以这样做。但是,CI的优点之一是,每次 checkin 后都会获得构建状态报告。编写脚本来完成这项工作需要更多的工作,而CruiseControl已经做到了。
Cruisecontrol和Hudson是两个流行的持续集成系统。尽管两个系统都能很好地完成自动连续构建,但是创建批处理或bash构建脚本,然后使用Windows Scheduler或cron来调度构建似乎要容易得多。
是否为C++项目提供了更好的持续集成系统?还是仅使用脚本和调度程序是更简单的方法?
最佳答案
我们一直在C++项目上将CruiseControl用于CI。虽然这是我们唯一用于ant的东西,但是CruiseControl的ant构建脚本只是启动我们的常规构建脚本,因此它非常简单,并且我们确实不需要很长时间来对其进行更新。因此,CrusieControl基于Java的事实对我们来说根本不是一个问题。
使用巡航控制之类的主要好处是
当然,您可以自己编写一个脚本来完成所有这些工作,但是为什么所有这些都能起作用?从长远来看,设置CruiseControl(或类似工具)的额外初始成本可能远低于维护和更新自定义CI构建脚本的成本。
如果您只需要启动每日构建,而由cron启动的简单脚本就可以满足您的需求,那么一定可以这样做。但是,CI的优点之一是,每次 checkin 后都会获得构建状态报告。编写脚本来完成这项工作需要更多的工作,而CruiseControl已经做到了。
09-26 20:05