Plugin Checkstyle Jenkins

De EjnTricks

L'utilisation de l'intégration continue permet de surveiller en temps réelle la qualité du code produit. L'application Sonar offre une présentation centralisée d'un ensemble de règle, style, tests unitaires, vérification du code... Cependant il existe un ensemble de plugins permettant de présenter les rapports des outils au sein de Jenkins. Cet article présente l'utilisation du plugin Checktyle. Un exemple d'utilisation est disponible sur l'instance Jenkins liée.

Dans le cadre de cet article, l'analyse a été effectuée sur l'extension de TIKA pour n'extraire que les propriétés des fichiers, sans parcourir le contenu de ceux-ci, avec la configuration checkstyle mise en place pour l'ensemble des projet http://www.jouvinio.net/dev/checkstyle.xml.


Hand-icon.png Votre avis

Nobody voted on this yet

 You need to enable JavaScript to vote


System-Install-icon.png Installation

L'installation du plugin Checkstyle Plugin peut s'effectuer directement depuis la [Plugins Hudson-Jenkins|gestion des plugins] sous Jenkins. Il est également possible d'effectuer une installation manuelle de celui-ci en téléchargeant le fichier hpi dans le répertoire d'extension.

#sudo service tomcat6 stop
#sudo wget -P /usr/share/tomcat6/.jenkins/plugins http://updates.jenkins-ci.org/download/plugins/checkstyle/3.39/checkstyle.hpi
#sudo chown tomcat6:tomcat6 /usr/share/tomcat6/.jenkins/plugins/checkstyle.hpi
#sudo service tomcat6 start


Process-Icon.png Utilisation

Icon-Configuration-Settings.png Activation

Warning-icon.png Ce plugin permet de publier les rapports de vérification de code. Il est donc impératif d'activer l'analyse du code pris en compte dans le job. Dans le cadre d'un projet Maven, il faut donc exécuter une des cibles spécifiques au plugin maven-checkstyle, par exemple le goal checkstyle:checkstyle, qui ne place pas le job en erreur si des violations sont constatées.


Sans ce goal, aucun rapport ne sera disponible.

Il faut ensuite activer l'analyse dans les paramètres du projet, au niveau de la section Configuration du build.


Viewer icon.png Affichage

Icon Folder analyze.png Accès par menu

une nouvelle icône, avec le texte Résultat Checkstyle sera disponible sur la partie gauche d'un projet, si celui-ci est correctement configuré,.


En cliquant sur le lien, l'ensemble des violations sont affichées et il est possible de les parcourir selon différents axes de navigation.


Une première section, Tendance des Alertes, va permettre de visualiser le nombre d'alertes ainsi qu'un mini suivi temporel avec le nombre de nouvelles et de résolues.

La deuxième section, Résumé, donne une vue synthétique des alertes en fonction de leur criticité.

Enfin, la dernière partie donne accès aux différents axes de parcours du rapport. Un premier axe, onglet Categories, permet de visualiser en fonction de la catégorie des alertes.

Chacune des catégories est un lien permettant d'afficher les classes impactées.

L'onglet Details permet de visualiser en un seul tableau les classes impactées ainsi qu'un descriptif succinct de la violation.

En cliquant sur le nom de la classe, avec le numéro de ligne impactée, l'utilisateur est automatiquement dirigée vers la zone impactée du code.


Il est possible de parcourir les alertes en fonction de leur type, onglet Types.

Chacune des alertes est un lien permettant d'afficher les classes impactées.

L'onglet Details permet de visualiser en un seul tableau les classes impactées ainsi qu'un descriptif succinct de la violation.

En cliquant sur le nom de la classe, avec le numéro de ligne impactée, l'utilisateur est automatiquement dirigée vers la zone impactée du code.


Le troisième onglet, Warning, liste l'ensemble des anomalies dans un tableau.

Toutes les informations sont présentées au niveau du tableau. En cliquant sur le nom de la classe, avec le numéro de ligne impactée, l'utilisateur est automatiquement dirigée vers la zone impactée du code.


Le dernier onglet, Details, présente un maximum d'information sur chacune des anomalies, le nom, type, catégorie et une description de la violation.

En cliquant sur le nom de la classe, avec le numéro de ligne impactée, l'utilisateur est automatiquement dirigée vers la zone impactée du code.


Icon-database-search.png Accès par build

Il est possible de visualiser le rapport d'exécution d'un build Jenkins à partir des liens sur la partie gauche. En ouvrant un nouveau de ces rapport, une nouvelle icône apparaît dans le résumé.


En cliquant sur le lien listant les anomalies, l'utilisateur est dirigé vers l'affichage, décrit au paragraphe précédent, permettant de parcourir les anomalies.


Icon-log.png Evolution temporelle

Lorsque plusieurs build sont lancés sur un même projet, un graphique est affiché sur la age de celui-ci, permettant de visualiser l'évolution du nombre d'anomalie.