2009-05-19 16 views
4

Wir haben ein C++ Projekt, das derzeit Make on Linux zum Erstellen verwendet. Ich möchte es ähnlich wie ein Java-Projekt unter CruiseControl automatisieren."CruiseControl" Automatisierung für C++ Projekte?

1) Gibt es ein ähnliches Projekt wie CruiseControl für C++ - Projekte?

OR

2) Gibt es eine gute "How-to" auf CruiseControl- für C++ Projekte verwenden?

+0

Eine ähnliche Frage: http://stackoverflow.com/questions/870469/is-there-a-tool-for-cross-platform-continuous-integration-c-win32-and-linux – pugmarx

Antwort

6

Ich habe die Einrichtung von CruiseControl für C++ - Projekte unter Linux untersucht, bin aber auf Hudson gestoßen. Es hat eine Ein-Datei/eine Befehlszeilen-Einrichtung und Sie sind betriebsbereit. Der Management-Zugang erfolgt über ein nettes Web-Interface. Ich empfehle es sehr.

Hudson im Vergleich zu CC scheint einfacher einzurichten und zu verwalten und Sie haben Zugriff auf Statik, Fehler/Warnungen über Plugins (Drop-in-Verzeichnis und sie sind verfügbar) und Sie können es automatisch E-Mail bei Build-Fehler einrichten.

Ich habe ein Shell-Skript erstellt, das make für jedes Projektverzeichnis aufruft. Ich wies Hudson darauf hin, dass er das Script laufen ließ. Die Erstellung erfolgt über cron-ähnliche Einstellungen - Setup über Web-Interface. Ich habe es überprüft alle 30 Minuten für Codeänderungen und Build von notforce und neu kompilieren.

Wenn Sie nicht sicher sind, versuchen Sie es. Es dauert nur ein paar Minuten, um loszulegen. Ich habe es heruntergeladen, weil ich sehen wollte, was mit unserem aktuellen Build-Setup möglich ist, und ich habe nie zurückgeschaut, es läuft seit fast einem Jahr ohne irgendwelche Probleme.

3

Ich kenne CruiseControl nicht, da wir TeamCity verwenden, aber CruiseControl sollte in der Lage sein, eine Befehlszeilenerstellung durchzuführen, d. H. Einfach Make aufrufen. Daran ist nichts falsch. In TeamCity ist es sogar einfach, Fortschrittsbenachrichtigungen zur make-Datei hinzuzufügen (nur in einem bestimmten Format), so dass es sich nicht sehr von "nativen" Projekten unterscheidet. Ich weiß nicht, wie weit CruiseControl in dieser Hinsicht geht.

Wir haben ein großes C++ - Projekt, das mit CMake erstellt wurde und auf der Kommandozeile läuft. Es meldet sogar die Komponententestergebnisse (mit Boost :: Test) korrekt.

Oh, und wenn CruiseControl keinen Befehlszeilen-Runner oder andere Projekttypen als Java unterstützt, sollten Sie sich TeamCity als Ersatz ansehen.

1

Wir betreiben Hudson, um eine Mischung aus C++ und Java-Code zu bauen, und es funktioniert sehr gut. Ein Vorteil gegenüber CruiseControl ist, dass Hudson über eine vollständige Webschnittstelle verfügt, sodass Sie XML-Dateien nie manuell bearbeiten müssen.

0

Wir verwenden cruisecontrol, um sowohl unsere C++ - als auch unsere Java-Projekte zu erstellen. Unsere C++ - Projekte verwenden SCons statt make und wir rufen einfach scons vom cruisecontrol Ant Skript über die exec Ant-Task auf.

0

Wir verwenden CruiseControl für C++ - Projekte. Wir führen einfach devenv.com in einem Ant-Skript unter Verwendung von exec aus, um eine Lösung zu erstellen.