Мы перешли с PHPUC на Гудзон около года назад и, безусловно, получили удовольствие. Одним из основных преимуществ является то, насколько легко создавать и редактировать проекты, поскольку все это делается с помощью приятного веб-интерфейса, без каких-либо проблем в XML-файлах конфигурации. Вам также не нужно перезапускать Hudson после изменения настроек, поэтому я обнаружил, что намного проще и быстрее выполнять итерации в проекте.
Еще одна вещь, которая по-настоящему поразила меня в Хадсоне, это то, сколько проблем он может обнаружить и указать на вас. Например, не раз с PHPUC сборка перестала работать так, что phpunit XML больше не генерировался, но PHPUC с радостью использовал старые результаты в течение нескольких дней или недель, пока мы не осознали. Хадсон сразу же указал на это, сказав, что файл журнала не был затронут с момента начала сборки! При настройке проектов также в веб-интерфейсе, он сообщит вам, если каталоги / местоположения SCM не существуют при вводе текста, и предложит советы Google-esque относительно того, что вы имели в виду, обнаружив проблемы, прежде чем вы даже сохраните конфигурацию! Также, если периодически собирать с записью cron, например, "* 4 * * *", она скажет: "Вы действительно имели в виду каждую минуту 4 или вы имели в виду '0 4 * * *'?"
Тем не менее, хотя экосистема сообщества и плагинов богата, Hudson также более универсален, чем PHPUC, поэтому он не так тесно интегрирован в проекты PHP, но может с радостью публиковать отчеты о покрытии кода и phpdoc (и любой отчет HTML) через плагины.
Кроме того, не забывайте, что если решение (PHPUC) не нарушено, возможно, нет необходимости его исправлять. Однако вы можете легко оценить Hudson для начальных показов, загрузив файл .war и запустив "java -jar hudson.war", и вы запустите экземпляр менее чем за минуту.
В целом, я чувствую, что это сделало наши сборки и развертывания более надежными и повторяемыми, быстрее выявляя ошибки, а также ускоряя многие задачи (он может устанавливать для себя подчиненные устройства через SSH и распределять задания или запускать их одновременно!)