2010-02-11 8 views
8

Ich verwende PHPUnderControl (ein Cruise Control Plugin für PHP) als CI-Server für PHP-Entwicklung. Ich benutze Ant, um mein Projekt zu erstellen. Haupt verwendeten Funktionen von PHPUC sindCruise Control als PHPUnderControl vs. Hudson für PHP

  • PHPUnit Testbericht
  • PHPCS Bewertung
  • Diagramme, PHP PMD, PHPCPD und einige misc. Ding.

Was sind die Vorteile von Hudson vs PHPUC? Ich habe gehört, dass die Entwicklung von Tag zu Tag schneller und weiter verbreitet ist.

+0

beschleunigen * (sidenote) * Es gibt auch einen reinen PHP CI-Server: http://www.arbitracker.org – Gordon

+0

Werfen Sie einen Blick auf meine jüngsten Bounty für einige Eingabe. http://stackoverflow.com/questions/2180460/setting-up-a-deployment-build-ci-cycle-for-php-projects –

Antwort

16

Wir sind vor etwa einem Jahr von PHPUC zu Hudson gewechselt und haben es sicherlich genossen. Einer der Hauptvorteile ist, wie einfach es ist, Projekte zu erstellen und zu bearbeiten, da dies alles über eine nette Web-Benutzeroberfläche geschieht, ohne dass man in XML-Konfigurationsdateien herumhantiert. Sie müssen Hudson auch nicht neu starten, nachdem Sie die Einstellungen geändert haben. Daher war es für mich viel einfacher und schneller, ein Projekt zu iterieren.

Eine weitere Sache, die mich wirklich beeindruckt hat über Hudson war, wie viele Probleme es erkennen und auf Sie hinweisen kann. Zum Beispiel mehr als einmal mit PHPUC funktioniert der Build nicht mehr so, dass die phpunit XML nicht mehr generiert wurde, aber PHPUC hat die alten Ergebnisse glücklicherweise einige Tage oder Wochen benutzt, bis wir es bemerkt haben. Hudson wies sofort darauf hin, dass die Protokolldatei seit dem Start des Builds nicht berührt wurde! Wenn Sie auch Projekte in der Web-Benutzeroberfläche einrichten, wird Ihnen angezeigt, ob Verzeichnisse/SCM-Speicherorte während der Eingabe nicht vorhanden sind. Geben Sie google-esque Vorschläge, was Sie gemeint haben, bevor Sie die Konfiguration speichern. Auch wenn man periodisch mit einem Cron-Eintrag wie "* 4 * * *" baut, wird es sagen: "Hast du wirklich jede Minute von 4 gemeint, oder meinst du '0 4 * * *'?"

Obwohl das Community- und Plugin-Ökosystem reich ist, ist Hudson auch generischer als PHPUC, daher ist es nicht so eng in PHP-Projekte integriert, kann aber Code Coverage- und phpdoc-Berichte (und beliebige HTML-Berichte) veröffentlichen über Plugins.

Vergessen Sie auch nicht, dass, wenn eine Lösung (PHPUC) nicht unterbrochen ist, es keine Notwendigkeit gibt, es zu beheben. Sie können jedoch Hudson einfach für die ersten Impressionen auswerten, indem Sie die .war-Datei herunterladen und "java -jar hudson.war" ausführen, und Sie werden eine Instanz in weniger als einer Minute ausführen.

Insgesamt halte ich es hat unsere baut und Installationen robuster und wiederholbar, Fehler schneller zu kontrollieren, und auch viele Aufgaben (es kann installieren Sklaven für sich via SSH und verteilen Arbeitsplätze oder laufen sie gleichzeitig!)

+0

Gut erklärt, danke. – erenon

2

Hudson als eine nette Ui und kann zu 99% der Zeit über das Webui konfiguriert werden. Das letzte Mal, als ich den Tempomat betrachtete, musste man in verschiedenen XML-Dateien herumschnüffeln.

+0

Konfigurieren von Xml ist immer noch in CC AFAIK. – erenon