39 votes

Une construction Jenkins peut-elle échouer pour une couverture en baisse ?

J'ai vu un certain nombre de messages sur le fait de faire échouer une construction Jenkins soutenue par Maven pour un projet donné si un seuil de couverture n'est pas atteint, c'est-à-dire que la couverture doit être d'au moins 80 % ou que la construction échoue.

Je me demande s'il existe un moyen de configurer Jenkins pour qu'il échoue à une compilation si la couverture est inférieure à la dernière compilation, c'est-à-dire si la couverture pour la compilation N est de 20% et N+1 est de 19%, alors la compilation échoue. Je ne veux pas mettre un seuil explicite, mais je veux que la couverture reste stable ou qu'elle augmente avec le temps.

9voto

Raghuram Points 26896

Je ne l'ai pas essayé, mais en supposant que vous utilisez le plugin maven cobertura, je crois qu'il peut être configuré pour échouer comme documenté ici. Jenkins n'honorerait-il pas l'échec ?

Je vois également une demande de fonctionnalité ouverte pour cela.

5voto

malenkiy_scot Points 8622

Enregistrer le dernier pourcentage de couverture sur le côté. Utilisez le script Groovy (exécuté via Groovy Plugin) qui s'appuie sur l'API Java de Jenkins pour comparer le niveau de couverture actuel avec le précédent et échouer la construction s'il tombe. Si vous décidez sérieusement d'aller de cette façon, je peux fournir plus de détails et des exemples de code.

4voto

Cédric Julien Points 24177

Depuis la version 1.6 du plugin Cobertura, le problème a été résolu, et une nouvelle option est apparue qui permet au plugin de faire échouer la construction si la couverture est inférieure à la construction précédente.

1voto

dunni Points 8810

Cela doit être configurable dans la section de configuration du plugin, qui calcule la couverture. Par exemple, pour le plugin PMD, vous pouvez configurer les limites pour la construction instable ou échouée sur la page de configuration du travail dans la section "Paramètres de construction".

0voto

Tyler Smith Points 786

Dans NCover, je spécifie un certain pourcentage via un fichier de configuration. Vous pouvez créer un script python (ou similaire pour modifier cette valeur si vous le souhaitez). A part ça, je ne pense pas qu'il y ait de variables de configuration

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X