
O lançamento do PVS-Studio 7.04 coincidia com o lançamento do plugin Warnings Next Generation 6.0.0 para Jenkins. Neste lançamento, o Warnings NG Plugin adicionou suporte ao analisador estático PVS-Studio. Este plugin visualiza dados sobre os avisos do compilador ou de outras ferramentas de análise no Jenkins. Neste artigo, explicaremos detalhadamente como instalar e configurar este plugin para uso com o PVS-Studio, além de descrever a maioria de suas funcionalidades.
Instalação do Plugin Warning Next Generation no Jenkins
Por padrão, o Jenkins está localizado em . Na página inicial do Jenkins, no canto superior esquerdo, selecionamos a opção "Gerenciar Jenkins":

Em seguida, selecionamos a opção "Gerenciar Plugins", abrindo a aba "Disponíveis":

No canto superior direito, no campo de filtro, digitamos "Warnings Next Generation":

Localizamos o plugin na lista, marcamos a caixa à esquerda e clicamos em "Instalar sem reiniciar":

Uma página de instalação de plugins será aberta. Nela, veremos os resultados da instalação do plugin:

Criando uma nova tarefa no Jenkins
Agora, vamos criar uma tarefa com configuração livre. Na página inicial do Jenkins, selecionamos "Novo Item". Inserimos o nome do projeto (por exemplo, WTM) e escolhemos a opção "Projeto Freestyle".

Clicamos em "OK", após o que a página de configuração da tarefa será aberta. Na parte inferior desta página, na seção "Ações pós-construção", abrimos a lista "Adicionar ação pós-construção". Na lista, escolhemos "Registrar avisos do compilador e resultados de análise estática":

No menu suspenso do campo "Ferramenta", escolhemos "PVS-Studio", depois clicamos no botão salvar. Na página da tarefa, clicamos em "Construir agora" para criar uma pasta no workspace do Jenkins para nossa tarefa:

Obtendo resultados da construção do projeto
Hoje, nos tendências do Github, encontrei o projeto dotnetcore/WTM. Eu o baixei do Github, coloquei na diretório de construçã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 homônimo: .
Executei a construção do projeto no Jenkins algumas vezes. Como resultado, no canto superior direito da página da tarefa WTM no Jenkins, apareceu um gráfico e à esquerda foi adicionado o item de menu Avisos do PVS-Studio:

Ao clicar no gráfico ou neste item de menu, abre-se uma página com a visualização do relatório do analisador PVS-Studio pelo plugin Warnings Next Generation:

Página com os resultados
Na parte superior da página, há dois gráficos circulares. À direita dos gráficos, há uma janela de gráficos. Na parte inferior, está uma tabela.

No gráfico de pizza à esquerda, é exibida a proporção de avisos de diferentes níveis de gravidade, e à direita, a proporção de novos, não corrigidos e corrigidos. Há três gráficos. A seleção do gráfico exibido ocorre através das setas à esquerda e à direita. Os dois primeiros gráficos mostram as mesmas informações que os gráficos, e o terceiro apresenta a variação no número de avisos.

Como pontos dos gráficos, você pode escolher compilações ou dias.
Também há a possibilidade de estreitar e expandir o intervalo de tempo do gráfico, para visualizar dados em um determinado período:

Pode-se ocultar gráficos de métricas específicas clicando na legenda da métrica no gráfico:

Gráfico após ocultar a métrica 'Normal':

Na parte inferior, há uma tabela que exibe os dados do relatório do analisador. Ao clicar em uma seção do gráfico de pizza, a tabela é filtrada:

A tabela possui várias abas para filtrar os dados. Neste exemplo, está disponível filtragem por namespace, arquivo, categoria (nome do aviso). Na tabela, você pode escolher quantos avisos exibir por página (10, 25, 50, 100):

Há a possibilidade de filtrar os dados pela string inserida no campo 'Search'. Exemplo de filtragem pela palavra 'Base':

Na aba 'Issues', ao clicar no sinal de mais no início da linha da tabela, uma breve descrição do aviso será exibida:

Na breve descrição, há um link para o site com informações detalhadas sobre este aviso.
Ao clicar nos valores nas colunas 'Package', 'Category', 'Type', 'Severity', os dados da tabela são filtrados pelo valor selecionado. Filtragem por categoria:

Na coluna 'Age' é exibido quantas compilações passaram por este aviso. Ao clicar no valor na coluna 'Age', a página da compilação em que este aviso apareceu pela primeira vez será aberta.
Ao clicar no valor na coluna 'File', o código fonte do arquivo será aberto na linha com o código que causou o aviso. Se o arquivo não estiver presente no diretório de compilação ou tiver sido movido após a criação do relatório, a abertura do código fonte do arquivo não será possível.

Conclusão
Warnings Next Generation provou-se uma ferramenta muito útil para visualização de dados no Jenkins. Esperamos que o suporte ao PVS-Studio por meio deste plugin ajude muito aqueles que já utilizam o PVS-Studio e também atraia a atenção para a análise estática dos demais usuários do Jenkins. E se você escolher o PVS-Studio como seu analisador estático, ficaremos muito felizes. Convidamos nossa ferramenta.
Se você deseja compartilhar este artigo com um público de língua inglesa, por favor, utilize o link para a tradução: Valery Komarov. .
Fonte: habr.com
