Hoje vamos falar sobre o uso do SonarQube no processo de Integração Contínua do VSTS. O primeiro passo é configurar a análise do código-fonte nas definições de Build. Isso está publicado em post anterior – Integração SonarQube com VSTS.

Feito isso, podemos acessar o SonarQube e analisar métricas dos projetos como bugs, vulnerabilidades, code smells e code coverage. Veja mais detalhes nas documentações do SonarQube.

A tela inicial exibe os projetos e a quantidade de Bugs (demonstra algo está errado no código e precisa ser corrigido), Vulnerabilidades (possível backdoor para invasores),  Code Smells (problema relacionado a manutenibilidade no código), Coverage (cobertura do código em relação a testes) e Duplications (partes do código que estão duplicadas).

sonarqube-inicial

A guia Issues demonstra os problemas encontrados no código-fonte e clicando em cima, podemos ver o detalhe exato da parte do código que precisa ser corrigido.

sonarqube-issues.png

Em Rules, podemos ver as regras utilizadas na análise do código-fonte. Além de exibir os detalhes, a ferramenta associa as regras ao linguagem do código. No exemplo abaixo, a análise percorre códigos em Java, C#, Javascript, etc.

sonarqube-rules

Quality Profiles é o serviço central do SonarQube, onde definimos requisitos e o conjunto de regras. Cada language plugin já vem com o built-in profile para que consiga trabalhar rapidamente com análises no SonarQube.

sonarqube-quality-profiles