作为PHPUnderControl和Hudson for PHP的Cruise Control

ere*_*non 8 php continuous-integration cruisecontrol hudson

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

  • PHPUnit测试评论
  • PHPCS评论
  • 图表,PHP PMD,PHPCPD和一些misc.事情.

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

mro*_*ney 16

大约一年前,我们从PHPUC转到Hudson,当然很喜欢它.其中一个主要优点是创建和编辑项目是多么容易,因为它都是通过一个漂亮的Web UI完成的,而不是在XML配置文件中搞乱.更改设置后,您也不必重新启动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为自己安装slave并分配作业或同时运行它们!)