2012-04-03 3 views
2

J'envisage d'utiliser Hudson comme tableau de bord pour les tests automatiques qui sont exécutés pour chaque build de notre équipe. Certains des tests nécessitent que plusieurs ordinateurs travaillent en synchronisation les uns avec les autres (par exemple, un envoyant un signal, l'autre traitant celui-ci). Mon idée était d'avoir plusieurs 'esclaves' en ligne que le 'job de test' pouvait alors utiliser mais je ne trouve rien qui soit lié à la synchronisation des esclaves Hudson en ligne.Tests automatiques utilisant plusieurs esclaves dans Hudson

Est-ce que quelqu'un est tombé dessus?

+0

Vous ne pouvez pas créer deux instances locales pour le client/serveur dans le test? Ou mieux encore, tester le récepteur en utilisant un émetteur simulé et vice versa? Avoir plusieurs ordinateurs exécutés coordonnés pour exécuter une construction se sent fragile. –

Répondre

0

Que diriez-vous de créer 2 travaux qui utilisent l'interrogation SCM pour les mêmes changements, mais ils doivent être exécutés sur des nœuds spécifiques. Ensuite, chaque nœud peut attendre que l'autre démarre et fasse ses connexions.

0

Hudson pourrait être le mauvais outil pour le travail. Vous pouvez créer des configurations pour chaque "partie" du test (dites côté client et côté serveur) et configurer celles-ci pour qu'elles ne s'exécutent que sur certains esclaves.

Et vous pouvez exécuter des travaux les uns après les autres ("Construire après la construction d'autres projets") mais vous devez exécuter les travaux en même temps.

Vous pouvez utiliser "Générer des déclencheurs à distance (à partir de scripts, par exemple)", mais vous devez réellement démarrer plusieurs tâches à la fois.

Vous avez donc besoin d'un moyen de démarrer plusieurs travaux. Essayez le Script Console (Jenkins mais Hudson devrait avoir quelque chose de similaire). Peut-être que vous pouvez démarrer des travaux en exécutant un script en utilisant la console ou le command line interface. Si cela ne fonctionne pas, pensez à installer le client/serveur dans les machines virtuelles (VirtualBox, VMWare, VirtualPC) et utilisez virsh pour démarrer/arrêter les tests.

Questions connexes