2010-09-06 38 views
4

J'ai un ensemble de projets de test unitaires (un par client), un ensemble de projets de configuration par client et un core Java. Les tests unitaires sont juste des tests JUnit, les projets de configuration sont juste des fichiers xml spécifiques au client, etc., et le projet principal est le runtime. Les tests unitaires testent donc la configuration spécifique pour chaque client. Par conséquent, mes projets de tests unitaires dépendent du cœur et de leur projet de test unitaire correspondant. Tout comme les dépendances Maven2.Hudson: Impossible d'envoyer des committers en amont lorsque les builds en aval échouent

Maintenant, ce que je veux arriver, c'est que si un développeur met à jour un projet de configuration qui casse le projet de test unitaire, la construction échouera. Même si le test unitaire ou les projets de base sont inchangés. Cependant, même si dans Hudson, il a enregistré que les projets de base et de configuration sont en amont des projets de test unitaires, il n'envoie toujours des courriels aux développeurs que lorsque les tests unitaires échouent au projet de test unitaire.

J'ai essayé d'utiliser le "Plugin Commise de Blame Upstream", ainsi que le plugin Email-Ext, en définissant les Committers et Coupables à envoyer par courrier électronique. Mais aucun de ces travaux, même si je ne vois pas pourquoi pas. Une chose que je peux faire est de fusionner le projet d'unité et les projets de config. C'est un mouvement drastique car ils aiment la config du client isolée, mais c'est possible. Mais je voudrais savoir pourquoi ce qui précède ne fonctionne pas.

Merci si vous pouvez aider, Justin

+0

En outre, il existe une propriété système hudson.upstreamCulprits. Mais je ne sais pas comment définir une propriété système dans hudson si elle s'exécute dans Tomcat. Quelqu'un connaît la réponse à cela? – Justin

Répondre

1

Avez-vous activé les empreintes digitales lorsque vous avez essayé le plugin Blame? (Désolé de poster ceci comme une réponse, ne peut pas commenter encore)

0

Je suis aux prises avec ce même problème. Selon les docs pour le plugin, vous devez vous assurer que les empreintes digitales sont activées pour le projet en amont et en aval, et qu'elles doivent prendre des empreintes digitales des fichiers que "hudson (jenkins) peut déterminer proviennent d'une build amont". Le moyen le plus simple de le faire est de ne prendre en compte que les fichiers qui sont construits dans le projet amont.

Je pense que les fichiers doivent varier d'un projet à l'autre (c'est-à-dire changer chaque build) car plusieurs personnes signalent que les projets amont de builds antérieurs sont blâmés (quand cela fonctionne). Ce qui précède est vrai pour le plugin ou le plugin ext-mail avec hudson.upstreamCulprits = true activé.