O lançamento do PVS-Studio 7.04 coincidiu com o lançamento do plugin Warnings Next Generation 6.0.0 para Jenkins. Somente nesta versão, o Warnings NG Plugin adicionou suporte ao analisador estático PVS-Studio. Este plug-in visualiza avisos sobre o compilador ou outras ferramentas de análise no Jenkins. Este artigo explicará em detalhes como instalar e configurar este plug-in para uso com o PVS-Studio e também descreverá a maioria de seus recursos.
Instalar o aviso do plug-in da próxima geração no Jenkins
Por padrão, Jenkins está localizado em
http: // localhost: 8080 . Na página principal do Jenkins, no canto superior esquerdo, selecione "Gerenciar Jenkins":
Em seguida, selecione o item "Gerenciar plug-ins", abra a guia "Disponível":
No canto superior direito do campo de filtro, insira "Avisos da próxima geração":
Encontramos o plug-in na lista, coloque uma marca de seleção à esquerda e clique em "Instalar sem reiniciar":
A página de instalação dos plugins será aberta. Nele, veremos os resultados da instalação do plugin:
Criando uma nova tarefa no Jenkins
Agora crie uma tarefa com uma configuração gratuita. Na página inicial do Jenkins, selecione "Novo item". Digite o nome do projeto (por exemplo, WTM) e selecione "Projeto Freestyle".
Clique em OK e a página de configurações da tarefa será aberta. Na parte inferior desta página, no item "Ações pós-compilação", abra a lista "Adicionar ação pós-compilação". Na lista, selecione "Registrar avisos do compilador e resultados da análise estática":
Na lista suspensa do campo "Ferramenta", selecione "PVS-Studio" e clique no botão Salvar. Na página da tarefa, clique em "Build Now" para criar uma pasta no espaço de trabalho Jenkins para a nossa tarefa:
Obtendo resultados da construção do projeto
Hoje, nas tendências do Github, me deparei com o projeto dotnetcore / WTM. Eu baixei do Github, coloquei no diretório de montagem WTM no Jenkins e analisei no Visual Studio usando o analisador PVS-Studio. Uma descrição detalhada do uso do PVS-Studio no Visual Studio é apresentada no artigo com o mesmo nome:
PVS-Studio for Visual Studio .
Comecei a construir o projeto em Jenkins algumas vezes. Como resultado, um gráfico apareceu no canto superior direito da página de tarefas WTM em Jenkins, e o item de menu
PVS-Studio Warnings apareceu no lado esquerdo:
Ao clicar no gráfico ou neste item de menu, uma página é aberta com a visualização do relatório do analisador PVS-Studio pelo plug-in Warnings Next Generation:
Página de resultados
Na página acima, existem dois gráficos de pizza. À direita dos gráficos é uma janela do gráfico. Abaixo está uma tabela.
O gráfico de pizza esquerdo mostra a correlação de avisos de diferentes níveis de perigo, e o direito mostra a correlação de avisos novos, não corrigidos e corrigidos. Existem três gráficos. O gráfico a ser exibido é selecionado usando as setas esquerda e direita. Os dois primeiros gráficos exibem as mesmas informações que os diagramas e o terceiro - a alteração no número de alertas.
Como pontos de gráficos, você pode selecionar montagens ou dias.
Também é possível restringir e expandir o intervalo de tempo do gráfico para ver os dados de um determinado período:
Você pode ocultar os gráficos de determinadas métricas clicando na designação da métrica na legenda do gráfico:
O gráfico após ocultar a métrica "Normal":
Na parte inferior, há uma tabela que exibe os dados do relatório do analisador. Quando você clica em um setor de um gráfico de pizza, a tabela é filtrada:
A tabela possui várias guias para filtrar dados. Neste exemplo, a filtragem por espaço para nome, arquivo, categoria (nome do aviso) está disponível. Na tabela, você pode escolher quantos avisos exibir em uma página (10, 25, 50, 100):
É possível filtrar os dados pela linha inserida no campo "Pesquisar". Exemplo de filtragem para a palavra "Base":
Na guia Problemas, quando você clica no sinal de adição no início da linha da tabela, uma breve descrição do aviso será exibida:
A breve descrição contém um link para o site com informações detalhadas sobre este aviso.
Ao clicar nos valores nas colunas "Pacote", "Categoria", "Tipo", "Gravidade", os dados da tabela são filtrados pelo valor selecionado. Filtrar por categoria:
A coluna Idade mostra quantas construções sobreviveram a este aviso. Clicar em um valor na coluna Idade abrirá a página da montagem na qual esse aviso apareceu pela primeira vez.
Clicar no valor da coluna "Arquivo" abrirá o código fonte do arquivo na linha com o código que causou o aviso. Se o arquivo não estiver no diretório de montagem ou tiver sido movido após a criação do relatório, será impossível abrir o código-fonte do arquivo.
Conclusão
Avisos A próxima geração provou ser uma ferramenta de visualização de dados muito conveniente no Jenkins. Esperamos que o suporte do PVS-Studio com este plugin ajude muito aqueles que já usam o PVS-Studio e também chame a atenção para a análise estática de outros usuários do Jenkins. E se, como analisador estático, sua escolha for do PVS-Studio, ficaremos muito felizes. Nós convidamos você a
baixar e experimentar nossa ferramenta.

Se você deseja compartilhar este artigo com um público que fala inglês, use o link para a tradução: Valery Komarov.
Configuração do plugin Warnings Next Generation para integração no PVS-Studio .