La sortie de PVS-Studio 7.04 a coïncidé avec la sortie du plugin Warnings Next Generation 6.0.0 pour Jenkins. Juste dans cette version, le plug-in Warnings NG ajoute la prise en charge de l'analyseur de code statique PVS-Studio. Ce plugin visualise les données liées aux avertissements du compilateur ou à d'autres outils d'analyse dans Jenkins. Cet article couvrira en détail comment installer et configurer ce plugin pour l'utiliser avec PVS-Studio, et décrira la plupart de ses fonctionnalités.
Installation du plugin d'avertissement de prochaine génération dans Jenkins
Par défaut, Jenkins se trouve sur
http: // localhost: 8080 . Sur la première page de Jenkins en haut à gauche, choisissez l'élément "Gérer Jenkins":
Ensuite, sélectionnez "Gérer les plugins" et ouvrez l'onglet "Disponible":
Dans le coin supérieur droit, saisissez "Avertissements de prochaine génération" dans le champ de filtre:
Trouvez le plugin dans la liste, cochez la case à gauche et cliquez sur "Installer sans redémarrer":
La page d'installation du plugin s'ouvre. Il nous montrera les résultats de l'installation du plugin:
Création d'une nouvelle tâche dans Jenkins
Créons maintenant une tâche de configuration gratuite. Sur la page principale de Jenkins, choisissez "Nouvel élément". Saisissez le nom du projet (par exemple, WTM) et choisissez «Projet Freestyle».
Cliquez sur "Ok", la page de configuration des tâches s'ouvrira. Ouvrez la liste "Ajouter une action post-build" en bas de cette page dans l'élément "Actions post-build". Dans la liste, sélectionnez "Enregistrer les avertissements du compilateur et les résultats de l'analyse statique":
Dans la liste déroulante du champ "Outil", choisissez "PVS-Studio" puis cliquez sur enregistrer. Sur la page des tâches, cliquez sur "Build Now" pour créer un dossier dans l'espace de travail de Jenkins pour notre tâche:
Obtention des résultats de construction de projet
Aujourd'hui, je suis tombé sur le projet dotnetcore / WTM dans les tendances Github. Je l'ai téléchargé depuis Github, collé dans le répertoire de construction WTM dans Jenkins et 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 donnée dans l'article du même nom:
PVS-Studio pour Visual Studio .
Après cela, j'ai exécuté le build du projet à Jenkins plusieurs fois. En conséquence, un graphique est apparu à droite en haut de la page des tâches WTM dans Jenkins. Un élément de menu
PVS-Studio Warnings est apparu à gauche:
En cliquant sur le graphique ou cet élément de menu, vous ouvrirez la page avec la visualisation du rapport de l'analyseur PVS-Studio par le plugin Warnings Next Generation:
Page de résultats
Il y a deux graphiques circulaires en haut de la page. À droite de ces graphiques, il y a une fenêtre graphique. Une table est en bas.
Le graphique circulaire de gauche montre le rapport des avertissements de différents niveaux de danger, à droite - le rapport des avertissements nouveaux, en suspens et fixes. Il y a trois graphiques. Vous pouvez choisir les graphiques à afficher à l'aide des flèches à gauche et à droite. Les deux premiers graphiques montrent les mêmes informations que les graphiques et le troisième montre le nombre d'un changement dans le nombre d'avertissements.
Vous pouvez choisir des builds ou des jours comme points de graphique.
Il est également possible de réduire et d'élargir la plage de temps des graphiques pour voir les données pour une certaine période:
Vous pouvez masquer les graphiques de certaines mesures en cliquant sur la désignation de la mesure dans la légende du graphique:
Le graphique après avoir masqué la métrique "Normal":
Le tableau en bas affiche les données du rapport de l'analyseur. Lorsque vous cliquez sur le secteur de tarte, le tableau est filtré:
Il y a plusieurs signets dans le tableau pour filtrer les données. Dans cet exemple, le filtrage est disponible par espace de noms, fichier, catégorie (nom d'avertissement). Dans le tableau, vous pouvez choisir le nombre d'avertissements à afficher par page (10, 25, 50, 100):
Vous pouvez filtrer les données par une ligne entrée dans le champ "Rechercher". Un exemple de filtrage par le mot "Base":
Dans l'onglet "Problèmes", lorsque vous cliquez sur le signe plus en haut de la ligne du tableau, une brève description d'avertissement s'affiche:
La courte description contient un lien vers le site avec des informations détaillées sur cet avertissement.
Lorsque vous cliquez sur les valeurs des colonnes "Package", "Catégorie", "Type", "Gravité", les données du tableau sont filtrées par la valeur choisie. Filtrage par catégorie:
La colonne «Age» indique le nombre de builds avec un certain avertissement. Lorsque vous cliquez sur la valeur dans la colonne «Âge», une page de construction s'ouvre lorsqu'un premier avertissement est apparu pour la première fois.
Lorsque vous cliquez sur la valeur dans la colonne "Fichier", le code source du fichier s'ouvrira sur la ligne avec le code qui a provoqué l'avertissement. Si un fichier est absent du répertoire de construction ou a été supprimé après la création du rapport, l'ouverture du code source du fichier ne sera pas disponible.
Conclusion
Avertissements Next Generation s'est avéré être un outil très pratique pour la visualisation des données dans Jenkins. Nous espérons que la prise en charge de ce plugin par PVS-Studio aidera ceux qui utilisent déjà PVS-Studio et attirera l'attention des autres utilisateurs Jenkins sur l'analyse statique. Si votre choix se porte sur PVS-Studio en tant qu'analyseur de code statique, nous serons très heureux. Vous pouvez
télécharger et essayer notre outil.