O lançamento do PVS-Studio 7.04 coincidiu com o lançamento do plugin Warnings Next Generation 6.0.0 para Jenkins. Apenas nesta versão, o plugin Warnings NG adicionou suporte para o analisador estático PVS-Studio. Este plugin visualiza dados de aviso do compilador ou outras ferramentas de análise no Jenkins. Este artigo descreverá em detalhes como instalar e configurar este plugin para uso com o PVS-Studio e também descreverá a maioria de seus recursos.
Instalando o plugin de aviso de próxima geração no Jenkins
Por padrão, Jenkins está localizado em
A seguir, selecione o item “Gerenciar Plugins”, abra a aba “Disponível”:
No canto superior direito do campo de filtro, digite “Avisos da Próxima Geração”:
Encontre o plugin na lista, marque a caixa à esquerda e clique em “Instalar sem reiniciar”:
A página de instalação do plugin será aberta. Aqui veremos os resultados da instalação do plugin:
Criando uma nova tarefa no Jenkins
Agora vamos criar uma tarefa com configuração gratuita. Na página principal do Jenkins, selecione “Novo Item”. Digite o nome do projeto (por exemplo, WTM) e selecione o item “Projeto Freestyle”.
Clique em “Ok”, após o qual a página de configuração da tarefa será aberta. No final desta página, no item “Ações pós-build”, abra a lista “Adicionar ação pós-build”. Na lista, selecione “Registrar avisos do compilador e resultados de análises estáticas”:
Na lista suspensa do campo “Ferramentas”, selecione “PVS-Studio” e clique no botão salvar. Na página da tarefa, clique em “Construir agora” para criar uma pasta no espaço de trabalho no Jenkins para nossa tarefa:
Obtendo resultados de construção do projeto
Hoje me deparei com o projeto dotnetcore/WTM nas tendências do Github. Baixei do Github, coloquei no diretório de compilação 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 de mesmo nome:
Executei a construção do projeto no Jenkins algumas vezes. Como resultado, um gráfico apareceu no canto superior direito da página de tarefas WTM no Jenkins e um item de menu apareceu à esquerda Avisos do PVS-Studio:
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 usando o plugin Warnings Next Generation:
Página de resultados
Existem dois gráficos de pizza na parte superior da página. À direita dos gráficos está a janela do gráfico. Abaixo está uma tabela.
O gráfico de pizza da esquerda mostra a proporção de avisos de diferentes níveis de gravidade, o da direita mostra a proporção de avisos novos, não corrigidos e corrigidos. Existem três gráficos. O gráfico exibido é selecionado usando as setas à esquerda e à direita. Os dois primeiros gráficos mostram as mesmas informações dos gráficos e o terceiro mostra a variação do número de alertas.
Você pode selecionar montagens ou dias como pontos do gráfico.
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 gráficos de determinadas métricas clicando na designação da métrica na legenda do gráfico:
Gráfico após ocultar a métrica “Normal”:
Abaixo está uma tabela que exibe os dados do relatório do analisador. Ao clicar em um setor de um gráfico de pizza, a tabela é filtrada:
A tabela possui várias guias para filtragem de dados. Neste exemplo, a filtragem por namespace, arquivo, categoria (nome do alerta) está disponível. Na tabela você pode selecionar quantos avisos exibir em uma página (10, 25, 50, 100):
É possível filtrar os dados pela string inserida no campo “Pesquisar”. Exemplo de filtragem pela palavra “Base”:
Na aba “Problemas”, ao clicar no sinal de mais no início da linha da tabela, será exibida uma breve descrição do aviso:
A breve descrição contém um link para um site com informações detalhadas sobre este aviso.
Ao clicar nos valores das colunas “Pacote”, “Categoria”, “Tipo”, “Gravidade”, os dados da tabela são filtrados pelo valor selecionado. Filtrar por categoria:
A coluna "Idade" exibe quantas compilações sobreviveram a esse aviso. Clicar no valor na coluna Idade abrirá a página de construção onde este aviso apareceu pela primeira vez.
Clicar em um 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 construção ou tiver sido movido após a criação do relatório, não será possível abrir o código-fonte do arquivo.
Conclusão
O Warnings Next Generation acabou sendo uma ferramenta de visualização de dados muito útil no Jenkins. Esperamos que o suporte ao PVS-Studio por este plugin ajude muito aqueles que já usam o PVS-Studio e também atraia a atenção de outros usuários do Jenkins para a análise estática. E se a sua escolha recai sobre o PVS-Studio como analisador estático, ficaremos muito felizes. Nós convidamos você
Se você quiser compartilhar este artigo com um público que fala inglês, use o link de tradução: Valery Komarov.
Fonte: habr.com