2012-04-03 9 views
2

Ich überlege, Hudson als Dashboard für die automatischen Tests zu verwenden, die für jeden Build in unserem Team ausgeführt werden.Automatische Tests mit mehreren Slaves in Hudson

Einige der Tests erfordern, dass mehrere Computer synchron miteinander arbeiten (z. B. einer sendet ein Signal, der andere verarbeitet ihn). Meine Idee war, mehrere "Sklaven" online zu haben, die der "Test-Job" dann verwenden könnte, aber ich kann nichts finden, was mit der Synchronisierung von Hudson-Sklaven im Internet zusammenhängt.

Ist jemand auf dieses gestoßen?

+0

Können Sie nicht zwei lokale Instanzen für den Client/Server im Test erstellen? Oder besser noch, testen Sie den Empfänger mit einem verspotteten Absender und umgekehrt? Mehrere Computer laufen koordiniert laufen zu lassen, um einen Build laufen zu lassen fühlt sich spröde an. –

Antwort

0

So erstellen Sie 2 Jobs, die SCM-Abruf für die gleichen Änderungen verwenden, aber sie müssen auf bestimmten Knoten ausgeführt werden.

Dann kann jeder Knoten warten, bis der andere startet und ihre Verbindungen herstellen.

0

Hudson könnte das falsche Werkzeug für den Job sein. Sie können Konfigurationen für jeden "Teil" des Tests erstellen (sagen Sie die Client-Seite und die Server-Seite) und konfigurieren, dass diese nur auf bestimmten Slaves ausgeführt werden.

Und Sie können Jobs nacheinander ausführen ("Erstellen, nachdem andere Projekte erstellt wurden"), aber Sie müssen die Aufträge zur gleichen Zeit ausführen.

Sie könnten "Auslöser baut entfernt (z. B. von Skripten)" verwenden, aber was Sie wirklich brauchen, ist mehrere Aufträge auf einmal zu starten.

Also, was Sie brauchen, ist eine Möglichkeit, mehrere Jobs zu starten. Versuchen Sie die Script Console (Jenkins aber Hudson sollte etwas ähnliches haben). Vielleicht können Sie Jobs starten, indem Sie entweder über die Konsole oder über die command line interface ein Skript ausführen.

Wenn das nicht funktioniert, sollten Sie die Client/Server-Dateien in virtuellen Maschinen (VirtualBox, VMWare, VirtualPC) installieren und virsh verwenden, um sie von Ihren Tests zu starten/zu stoppen.