
La version 7.04 de PVS-Studio coïncide avec la sortie du plugin Warnings Next Generation 6.0.0 pour Jenkins. Ce plugin a justement ajouté à cette version le support de l'analyseur statique PVS-Studio. Ce plugin visualise les données sur les avertissements du compilateur ou d'autres outils d'analyse dans Jenkins. Cet article décrira en détail comment installer et configurer ce plugin pour son utilisation avec PVS-Studio, ainsi que la majorité de ses fonctionnalités.
Installation du plugin Warning Next Generation dans Jenkins
Par défaut, Jenkins est accessible à l'adresse . Sur la page principale de Jenkins, en haut à gauche, sélectionnez « Gérer Jenkins » :

Ensuite, sélectionnez « Gérer les plugins », ouvrez l'onglet « Disponible » :

Dans le coin supérieur droit, entrez « Warnings Next Generation » dans le champ de filtre :

Trouvez le plugin dans la liste, cochez la case à gauche et cliquez sur « Installer sans redémarrer » :

Une page d'installation des plugins s'ouvrira. Nous y verrons les résultats de l'installation du plugin :

Création d'une nouvelle tâche dans Jenkins
Maintenant, créons une tâche avec une configuration libre. Sur la page principale de Jenkins, sélectionnez « Nouvel élément ». Entrez un nom de projet (par exemple, WTM) et choisissez « Projet freestyle ».

Cliquez sur « Ok », puis la page de configuration de la tâche s'ouvrira. En bas de cette page, dans la section « Actions après construction », ouvrez la liste « Ajouter une action après construction ». Dans la liste, choisissez « Enregistrer les avertissements du compilateur et les résultats d'analyse statique » :

Dans le menu déroulant du champ « Outil », sélectionnez « PVS-Studio », puis cliquez sur le bouton enregistrer. Sur la page de la tâche, cliquez sur « Construire maintenant », afin de créer un dossier dans l'espace de travail de Jenkins pour notre tâche :

Obtention des résultats de construction du projet
Aujourd'hui, dans les tendances de GitHub, je suis tombé sur le projet dotnetcore/WTM. Je l'ai téléchargé depuis GitHub, l'ai déposé dans le répertoire de construction de WTM dans Jenkins et l'ai analysé dans Visual Studio à l'aide de l'analyseur PVS-Studio. Une description détaillée de l'utilisation de PVS-Studio dans Visual Studio est présentée dans l'article du même nom : .
J'ai lancé la construction du projet dans Jenkins quelques fois. En conséquence, un graphique est apparu en haut à droite sur la page de la tâche WTM dans Jenkins, et un élément de menu est apparu à gauche. Avertissements de PVS-Studio:

En cliquant sur le graphique ou cet élément de menu, une page s'ouvre avec la visualisation du rapport de l'analyseur PVS-Studio par le plugin Warnings Next Generation :

Page avec les résultats
En haut de la page, il y a deux graphiques circulaires. À droite des graphiques se trouve une fenêtre de graphiques. En bas se trouve un tableau.

Dans le diagramme circulaire à gauche, on affiche la répartition des avertissements de différents niveaux de dangerosité, tandis qu'à droite, on montre la répartition des nouveaux, non corrigés et corrigés. Il y a trois graphiques. Le choix du graphique affiché se fait à l'aide des flèches à gauche et à droite. Les deux premiers graphiques donnent les mêmes informations que les diagrammes, tandis que le troisième montre l'évolution du nombre d'avertissements.

Pour les points des graphiques, vous pouvez choisir des builds ou des jours.
Il est également possible de réduire ou d'élargir la plage temporelle du graphique pour voir les données sur une période donnée :

Il est possible de cacher des graphiques de certaines métriques en cliquant sur l'étiquette de la métrique dans la légende du graphique :

Graphique après avoir caché la métrique « Normal » :

En bas se trouve un tableau affichant les données du rapport de l'analyste. En cliquant sur une section du diagramme circulaire, le tableau est filtré :

Le tableau comporte plusieurs onglets pour filtrer les données. Dans cet exemple, il est possible de filtrer par namespace, fichier, catégorie (nom de l'avertissement). Vous pouvez choisir combien d'avertissements afficher par page (10, 25, 50, 100) :

Il est possible de filtrer les données par le texte saisi dans le champ « Search ». Exemple de filtrage du mot « Base » :

Dans l'onglet « Issues », en cliquant sur le petit plus au début de la ligne du tableau, une brève description de l'avertissement s'affiche :

La brève description inclut un lien vers un site contenant des informations détaillées sur cet avertissement.
En cliquant sur les valeurs des colonnes « Package », « Category », « Type », « Severity », le tableau est filtré selon la valeur sélectionnée. Filtrage par catégorie :

Dans la colonne « Age », on affiche combien de builds ont rencontré cet avertissement. En cliquant sur une valeur dans la colonne « Age », la page du build où cet avertissement est apparu pour la première fois s'ouvrira.
En cliquant sur une valeur dans la colonne « File », le code source du fichier s'ouvrira à la ligne de code ayant déclenché l'avertissement. Si le fichier n'est pas présent dans le répertoire de build ou a été déplacé après la création du rapport, l'ouverture du code source du fichier ne sera pas possible.

Conclusion
Warnings Next Generation s'est avéré être un outil de visualisation des données très pratique dans Jenkins. Nous espérons que le support de PVS-Studio par ce plugin sera d'une grande aide pour ceux qui utilisent déjà PVS-Studio, et qu'il attirera également l'attention sur l'analyse statique des autres utilisateurs de Jenkins. Si votre choix de l'analyseur statique se porte sur PVS-Studio, nous en serons très heureux. Nous vous invitons notre outil.
Si vous souhaitez partager cet article avec un public anglophone, veuillez utiliser le lien vers la traduction : Valery Komarov. .
Source : habr.com
