为PVS-Studio集成配置警告下一代插件

图片12

PVS-Studio 7.04的发布与Jenkins的Warnings Next Generation 6.0.0插件的发布相吻合。 就在此版本中,Warnings NG插件添加了对PVS-Studio静态分析仪的支持。 该插件将Jenkins中有关编译器或其他分析工具的警告可视化。 本文将详细说明如何安装和配置此插件以与PVS-Studio一起使用,并描述其大多数功能。


在Jenkins中安装警告下一代插件


默认情况下,Jenkins位于http:// // localhost:8080 。 在Jenkins主页的左上方,选择“管理Jenkins”:

图片1


接下来,选择“管理插件”项,打开“可用”选项卡:

图片8


在过滤器字段的右上角,输入“下一代警告”:

图片3


我们在列表中找到该插件,在左侧打勾,然后单击“安装而不重启”:

图片14


插件安装页面将打开。 在它上面,我们将看到安装插件的结果:

图片5


在詹金斯创建一个新任务


现在,使用免费配置创建任务。 在Jenkins主页上,选择“新项目”。 输入项目的名称(例如WTM),然后选择“自由式项目”。

图片6


单击确定,然后将打开任务设置页面。 在此页面底部的“生成后操作”项中,打开“添加生成后操作”列表。 在列表中,选择“记录编译器警告和静态分析结果”:

图片7


在“工具”字段的下拉列表中,选择“ PVS-Studio”,然后单击“保存”按钮。 在任务页面上,单击“立即构建”以在Jenkins工作区中为我们的任务创建一个文件夹:

图片18


获取项目构建结果


今天,在Github趋势中,我遇到了dotnetcore / WTM项目。 我从Github下载了该文件,将其放入Jenkins的WTM程序集目录中,并使用PVS-Studio分析器在Visual Studio中对其进行了分析。 相同名称的文章中提供了在Visual Studio中使用PVS-Studio的详细描述: PVS-Studio for Visual Studio

我开始在詹金斯建了几次项目。 结果,在Jenkins的WTM任务页面的右上方显示了一个图形,在左侧显示了PVS-Studio警告菜单。

图片2


通过单击图形或此菜单项,将打开一个页面,其中显示了警告下一代插件对PVS-Studio分析仪报告的可视化:

图片9


结果页


上面的页面上有两个饼图。 图表右侧是图表窗口。 以下是表格。

图片10


左侧的饼形图显示了不同危害级别的警告的相关性,右侧的饼形图显示了新的,未纠正的和纠正的警告的相关性。 有三个图。 使用左右箭头选择要显示的图表。 前两个图显示与图相同的信息,第三个图-警报数量的变化。

图片26


作为图形的点,您可以选择程序集或日期。

也可以缩小和扩展图表的时间范围以查看特定时期的数据:

图片27


您可以通过单击图例中的指标名称来隐藏某些指标的图形:

图片28


隐藏“正常”指标后的图形:

图片29


底部是显示分析仪报告数据的表格。 当您单击饼图的一个扇区时,将对表进行过滤:

图片11


该表具有几个用于过滤数据的选项卡。 在此示例中,可以按名称空间,文件,类别(警告名称)进行过滤。 在表格中,您可以选择在一页上显示多少警告(10、25、50、100):

图片32


可以通过在“搜索”字段中输入的行来过滤数据。 单词“ Base”的过滤示例:

图片33


在“问题”选项卡上,单击表行开头的加号时,将显示警告的简要说明:

图片34


简短说明包含指向该站点的链接,其中包含有关此警告的详细信息。

通过单击“包”,“类别”,“类型”,“严重性”列中的值,表数据将按所选值进行过滤。 按类别过滤:

图片36


“年龄”列显示了多少个建筑物在此警告下幸免。 单击“年龄”列中的值将打开首次出现此警告的程序集页面。

单击“文件”列中的值,将在包含引起警告的代码的行上打开文件的源代码。 如果该文件不在程序集目录中,或者在创建报告后已被移动,则将无法打开文件的源代码。

图片37


结论


警告在Jenkins中,下一代已被证明是非常方便的数据可视化工具。 我们希望此插件对PVS-Studio的支持将极大地帮助那些已经在使用PVS-Studio的用户,并且还将引起对其他Jenkins用户的静态分析的关注。 如果您选择使用静态分析仪作为PVS-Studio,我们将非常高兴。 我们邀请您下载并尝试使用我们的工具。



如果您想与说英语的读者分享这篇文章,请使用以下链接:Valery Komarov。 配置警告下一代插件以集成到PVS-Studio中

Source: https://habr.com/ru/post/zh-CN466995/


All Articles