Ich verwende PHPUnderControl (ein Cruise Control-Plugin für PHP) als CI-Server für die PHP-Entwicklung. Ich benutze Ant, um mein Projekt zu erstellen. Hauptsächlich verwendete Funktionen von PHPUC sind
Was sind die Vorteile von Hudson vs. PHPUC? Ich habe gehört, dass die Entwicklung von Tag zu Tag schneller und weiter verbreitet ist.
Wir sind vor etwa einem Jahr von PHPUC nach 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 an Hudson wirklich beeindruckt hat, 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 für Tage oder Wochen genutzt, 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-Ecosystem 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 Plugins.
Vergessen Sie auch nicht, dass es keine Notwendigkeit gibt, eine Lösung (PHPUC) zu reparieren, wenn sie nicht unterbrochen wird. Allerdings können Sie Hudson einfach für die ersten Impressions 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 habe ich das Gefühl, dass unsere Builds und Bereitstellungen robuster und wiederholbarer geworden sind, Fehler schneller erfasst und viele Aufgaben beschleunigt wurden (es kann Slaves für sich selbst per SSH installieren und Jobs verteilen oder gleichzeitig ausführen!)
Tags und Links php continuous-integration hudson cruisecontrol