Blog

Como configurar o Sonarqube (Sonar)


O Sonarqube, anteriormente conhecido como apenas Sonar, é uma ferramenta capaz de gerenciar a qualidade do código desenvolvido sobre uma série de aspectos, e ainda, indicar melhores práticas para desenvolvimento de determinada funcionalidade.

A ferramenta possui suporte a muitas linguagens como C#, Java, PHP, Python, JavaScript, PL/SQL, C/C++, entre muitas outras. Ela atua oferecendo relatórios onde são apresentados caso de duplicação de código, práticas fora do padrão de desenvolvimento, testes unitários, complexidade de métodos, codificações propensas a falhas (bugs), comentários contendo lixo, arquitetura mal planejada, entre outros.

Ainda é possível utilizar o Sonarqube associado a outras ferramentas de automatização como o Jenkins, que garantem a integração continua dos testes com o desenvolvimento através do controle do versionamento em ambientes como o SVN, tornando o processo mais gerenciável e simples. Além disso, a configuração do Sonarqube é muito simples e pode ser feita em poucos minutos.

Para a instalação e configuração do aplicativo será preciso inicialmente fazer download e instalação do Sonarqube e das ferramentas necessárias para a configuração do mesmo.

  1. Java Development Kit (JDK)
  2. Sonarqube 4.5
  3. SonarRunner 2.4
  4. FxCop 10 (apenas projetos .NET)
  5. Gallio Bundle 3.4.14.0 (apenas projetos .NET)
  6. OpenCover 4.5.3207

O Sonarqube deve ser extraído do arquivo zip e copiado para um destino como o "C:\". O SonarRunner deve ser extraído e copiado para dentro da pasta do Sonarqube. As demais instalações serão feitas por instaladores automáticos que dispensam explicações, porém, deve-se manter todas as definições de instalação no valor padrão (no diretório padrão de instalação).

Configuração do SonarRunner

Ainda será preciso realizar algumas configurações para que tudo funcione corretamente, siga os passos abaixo:

1 - Crie ou edite as 3 seguintes variáveis de ambiente:

  • JAVA_HOME = Coloque o endereço do JDK
  • SONAR_RUNNER_HOME = Coloque o endereço do SonarRunner
  • PATH = Acrescente ao fim da variável que já existe um ponto e virgula, seguido do endereço da pasta "bin" dentro da pasta do SonnarRunner

2 - Crie um arquivo chamado "sonar-project.properties" na raiz da pasta do projeto com o conteúdo seguinte:

# identificação do projeto
sonar.projectKey=NOME_DO_PROJETO
sonar.projectVersion=1.0
sonar.projectName=NOME_DO_PROJETO
# Informações de configuração sonar.sources=. sonar.language=cs sonar.sourceEncoding=UTF-8
# Ativa o Visual Studio bootstrapper (apenas projetos .NET) sonar.visualstudio.enable=true

O campo "sonar.language" deverá conter a linguagem de programação utilizada no projeto (cs, php, java...).

Este arquivo deve ser adicionado na pasta raiz do projeto. Caso esteja utilizando SVN o arquivo deve ser adicionado junto ao projeto, permitindo assim a integração futura com o Jenkins (Como configurar o Jenkins integrado ao Sonarqube e SVN).

Inicialização do Sonarqube

Após realizar todas as configurações é preciso iniciar o serviço do Sonarqube e instalar todos os plugins necessários para o funcionamento do aplicativo. Para iniciar o serviço, deve-se ir até o diretório de instalação do mesmo, acessar o diretório "bin" e, em seguida, acessar o diretório que corresponda ao sistema operacional em uso, como por exemplo o "windows-x86-32" e então executar o arquivo "StartSonar.bat". Ao fim da inicialização do servidor já será possível acessar a página do sonar em "localhost:9000" ou utilizando o endereço correspondente. É muito importante atentar-se ao fato de que a versão do Sonarqube e dos demais aplicativos deve ser a mesma do servidor a ser iniciado, sendo então que, caso o sistema operacional seja 64 bits mas os aplicativos instalados foram 32 bits, deve-se iniciar o servidor 32 bits. Todos os links disponíveis neste artigo são para as versões 32 bits dos aplicativos, pois talvez não exista uma versão 64 bits para todos os aplicativos e, neste caso, deve-se usar a mesma versão 32 bits.

Para cada linguagem a ser utilizada será preciso adicionar os seus plugins especificos que devem ser baixados diretamente pelo aplicativo. Acesse a parte administrativa do Sonarqube com o usuário "admin" e a senha "admin" (que deve ser alterada posteriormente) e  clique em "Update Center" e, em seguida, em "Available Plugins", para então encontrar os diversos plugins disponíveis. Atente-se ao fato de que, caso sua rede possua proxy, você precisará configura-lo no arquivo de configuração do Sonarqube para então prosseguir com os downloads e atualizações. Ainda assim, em alguns casos, devido a restrições permissivas no proxy, será preciso fazer download dos arquivos "*.hpi" que se encontram na mesma página e efetuar a instalação manualmente através da guia de "Plugins Update".

Ainda poderão ser baixados outros plugins que se adequem a alguma necessidade não apresentada neste artigo, mas que não é obrigatória para o funcionamento básico do serviço.

Quando todos os plugins estiverem instalados, já será possível executar o SonarRunner para gerar os dados e, posteriormente, visualiza-los no Sonarqube. Para isso será preciso abrir o Prompt de Comando (cmd), navegar até a pasta do projeto a ser processado e executar o comando "sonar-runner". Após a finalização deste processo já será possível visualizar o resultado sobre a forma de relatórios e gráficos.
Finalização
Após ter realizado toda a configuração, executado os processos de captura de informações e geração de dados, temos o ambiente básico configurado e, então, deve-se partir para a definição de uma base de dados em um SGDB para a aplicação e customização das regras e padrões de testes e validações. Caso você não tenha alterado a porta padrão do Sonarqube será possível acessar o serviço a partir do endereço http://localhost:9000/.



Sonar Sonarqube Jenkins Tutorial Windows