2009-12-22 16 views
1

Je voudrais publier certains fichiers pour chaque build indépendamment du succès/de l'échec. Dans mon cas, je veux publier un rapport généré à partir d'une implémentation JUnit RunListener que nous avons implémentée, mais je trouverais également utile de publier des fichiers journaux supplémentaires, et tout autre fichier spécifique qui m'intéresse.Publier des fichiers/des artefacts pour la construction échouée/cassée dans Hudson?

Je sais TeamCity fait cela hors de la boîte. Est-ce possible avec Hudson? Le plugin DocLinks et la case à cocher "Archiver les artefacts" ne semblent fonctionner que pour les builds réussies.

Merci à l'avance

+0

Ceci est un doublon de http://stackoverflow.com/questions/1487378/hudson-save-artifacts-only-when-less-than-90-passes –

+0

J'ai vu cet article et je suis d'accord que la solution semble être un duplicata de cette publication. Le problème n'est pas un doublon, un peu plus simple en ce que je me fous de ce que% passe donc j'ai pensé qu'il valait la peine de poser la question au cas où il y aurait une solution facile ;-) –

Répondre

3

La fonctionnalité "Archiver les artefacts" est activée même pour les versions ayant échoué. Si ce n'est pas le cas, je considère que c'est un bug sérieux. Quelle version d'Hudson utilisez-vous?

+0

Merci beaucoup - mon oubli. Je pensais avoir lu quelque part qu'il ne faisait pas cela pour les builds ratés. J'ai activé cette option et ça fonctionne exactement comme je le veux. Merci! –

0

je pensais jusqu'à présent que Hudson marque un emploi instable au lieu d'échec lors de l'exécution des tests JUnit. Cependant, si vous ne voulez pas créer votre propre plugin, vous pouvez utiliser une solution de contournement. L'idée de base est de cacher à Hudson l'échec initial et de faire tout ce qui doit être fait avant de dire à Hudson qu'il y a un problème.

Il existe différentes approches.

  1. Toujours cacher les erreurs de Hudson, le travail n'échouera jamais, cependant, le rapport sera toujours publié. L'inconvénient est que vous devez surveiller les travaux/rapports puisque Hudson ne vous dira pas qu'il y a un problème.

  2. capturez l'erreur en dehors de Hudson, que ne publiez-vous en dehors d'Hudson, et dites à Hudson qu'il y a eu une erreur et laissez Hudson faire le reste.

+0

Merci pour la réponse, Peter On dirait que rien n'est sorti de la boîte sans les corrections que vous avez suggérées. J'examinerai plus en détail les options que vous avez suggérées et, dans le pire des cas, vous aurez simplement le rapport dans le répertoire cible de la dernière version et dire aux gens de le faire eux-mêmes. –

+0

Vous pouvez toujours créer un lien direct vers la dernière version et le dernier rapport de génération sans publier le numéro de build, par ex. http: // /job//lastBuild/testReport –