Ich verwende PHPUnderControl, das auf Cruise Control aufsetzt, für meine kontinuierliche Integration und Einheitstests. Ich habe es auch eingerichtet, um PHPDocumentor auszuführen und PHPDoc's für mich zu generieren, sowie PHP Code Sniffer zur Durchsetzung von Codierungsstandards. Aber jetzt möchte ich etwas auf demselben Server (Ubuntu) einrichten, um das Bereitstellen auf einem Remote-Server zu erleichtern. Ich habe es bereits so eingerichtet, dass nach jedem erfolgreichen Build ein SVN Export von trunk in ein Verzeichnis innerhalb des Projektordners auf dem Server durchgeführt wird.
Ich habe darüber nachgedacht, ein kleines benutzerdefiniertes PHP-Skript zu schreiben, das eine SSH-Verbindung zu einem konfigurierten Remote-Server herstellt, das neueste Exportpaket erstellt, es kopiert, entpackt und alle Migrationen ausführt. Ein PHP-Skript wie dieses sollte anfangs nicht zu schwierig sein, es sei denn, ich müsste letztendlich auf mehrere Server skalieren. Ich weiß, dass es Systeme wie Phing, Fabric und andere gibt.
Meine Frage ist, ob jemand Erfahrung damit hat und einige Vor- und Nachteile nennen kann? Ich habe bereits begonnen, Phing auf meinem Server einzurichten und werde als nächstes mit Fabric herumspielen, um sie auszuprobieren, aber ich frage mich, ob jemand, der sie umfangreicher verwendet hat oder sie skalieren musste, ein Feedback geben könnte.