2010-12-09 57 views
2

J'ai passé pas mal de temps à examiner notre processus de construction actuel pour essayer de ramener toute la construction incrémentielle à la barre des 10 minutes (actuellement 1 heure). La plus grande consommation de temps sur notre build semble être le grand nombre de tests unitaires qui, pour une raison ou une autre, prennent un peu de temps à exécuter.Maven plugin pour distribuer l'exécution du test unitaire

Récemment, j'ai expérimenté la distribution de l'exécution des tests unitaires sur un petit nombre de lames. Cela a augmenté la durée d'exécution globale des tests junit dans une plage très tolérable, mais a nécessité beaucoup de scripts manuels et d'administration sur la boîte CI pour que les tests continuent à fonctionner. Idéalement, je voudrais compiler la source sur un nœud maître, utiliser un plugin distribué comme surefire pour exécuter conjointement les tests unitaires, puis utiliser le nœud maître pour empaqueter les résultats. Je ne vois pas de gains significatifs à l'utilisation d'un compilateur distribué pour le moment.

D'autres personnes distribuent-elles l'exécution du test unitaire sur un certain nombre de boîtes? Existe-t-il des plugins (commerciaux ou open source) qui faciliteraient la gestion de ce processus? Tout aperçu de la façon dont les autres s'attaquent (ou ne s'attaquent pas) à ce problème serait très apprécié.

Répondre

1

vous pouvez envisager STAF

ou

utilisant testng avec hudson et la fonction esclave de hudson pour distribuer des emplois.

0

Il est possible d'utiliser le plugin surefire et d'écraser le paramètre JVM par défaut. De cette façon, un script personnalisé peut être utilisé à la place, ce qui à son tour fourchera un nouveau conteneur docker qui exécutera la JVM depuis le conteneur. Le conteneur doit pouvoir accéder au système de fichiers hôte pour accéder aux classes de compilation et aux autres ressources. J'ai créé un petit projet de preuve de concept pour illustrer la solution en utilisant SSHFS.

https://github.com/Jotschi/docker-junit-distribution-test

+0

Notez que [réponses lien uniquement] (http://meta.stackoverflow.com/tags/link-only-answers/info) sont découragés, SO réponses devraient être le point final d'un chercher une solution (contre encore une autre escale de références, qui ont tendance à se figer au fil du temps). S'il vous plaît envisager d'ajouter un synopsis autonome ici, en gardant le lien comme référence. – kleopatra