作为PHPUnderControl和Hudson for PHP的Cruise Control

时间:2010-02-11 16:24:47

标签: php continuous-integration hudson cruisecontrol

我正在使用PHPUnderControl(PHP的Cruise Control插件)作为PHP开发的CI服务器。我使用Ant来构建我的项目。 PHPUC的主要用途是

  • PHPUnit测试审核
  • PHPCS审核
  • 图表,PHP PMD,PHPCPD和一些misc。的事情。

Hudson与PHPUC有什么优点?我听说它的开发速度越来越快,而且日益广泛使用。

2 个答案:

答案 0 :(得分:16)

我们大约一年前从PHPUC转到哈德森,并且非常喜欢它。其中一个主要优点是创建和编辑项目是多么容易,因为它都是通过一个漂亮的Web UI完成的,而不是在XML配置文件中搞乱。更改设置后,您也不必重新启动Hudson,因此我发现迭代项目更容易,更快捷。

另一件让我对Hudson印象深刻的事情是它可以检测到多少问题并为你指出。例如,对于PHPUC不止一次,构建停止工作,以至于不再生成phpunit XML,但PHPUC很乐意使用旧结果数天或数周,直到我们意识到。 Hudson马上指出这一点,说自从构建开始以来,日志文件没有被触及!在Web UI中设置项目时,它会告诉您在键入时是否存在目录/ SCM位置,并提供有关您的意思的google-esque建议,在您保存配置之前发现问题!如果定期使用像“* 4 * * *”这样的cron条目建立,它会说,“你真的是指4分钟的每一分钟,还是你的意思是'0 4 * * *'?”

尽管如此,虽然社区和插件生态系统很丰富,但Hudson也比PHPUC更通用,因此它没有与PHP项目紧密集成,但可以通过以下方式快速发布代码覆盖率和phpdoc(以及任何HTML报告)报告插件。

另外,不要忘记如果解决方案(PHPUC)没有被破坏,可能不需要修复它。但是,您可以通过下载.war文件并运行“java -jar hudson.war”轻松评估Hudson的初始印象,并且您将在一分钟内运行实例。

总的来说,我觉得它使我们的构建和部署更加强大和可重复,更快地捕获错误,并加快了许多任务(它可以通过SSH为自己安装奴隶并分发作业或同时运行它们!)

答案 1 :(得分:2)

Hudson是一个很好的Ui,可以通过webui 99%的时间配置。上次我查看巡航控制时,你不得不在各种xml文件中嗅探。