SonarQube: Configuração remota e local para projetos .NET
Esse tutorial irá explicar de forma simples e clara como fazer a instalação do SonarQube, tanto local quanto remota através do Azure DevOps, além de abordar questões sobre a cobertura de código e análises em geral.
Sumário
- 1 Vamos lá!
- 1.1 Para começar vamos fazer a instalação e configuração local, para isso você deve seguir os passos:
- 1.2 Instale o OpenCover (versão 4.6.519) via comando, ou pelo nuget no projeto de teste unitário, executando o seguinte comando:
- 1.3 Agora crie um arquivo .bat usando um editor de texto qualquer adequando os comandos a seguir para os do seu projeto.
- 2 Extra
- 3 Configuração Sonarqube remoto usando o Azure DevOps
Vamos lá!
Para começar vamos fazer a instalação e configuração local, para isso você deve seguir os passos:
- Baixar o servidor do SonarQube através do link https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.6.zip
- Extrair o sonarqube-7.6.zip no disco local C:\
- Executar o StartSonar.bat através do caminho C:\sonarqube-7.6\bin\windows-x86-64\StartSonar.bat (tem que ter o Java JRE instalado)
- Adicionar a pasta sonar nas variáveis de ambiente
Instale o OpenCover (versão 4.6.519) via comando, ou pelo nuget no projeto de teste unitário, executando o seguinte comando:
- dotnet add
C:\Projeto_Teste\src\Backend\Application\Projeto_Teste.Backend.AppService.TestesUnitarios\Projeto_Teste.Backend.AppService.TestesUnitarios.csproj package OpenCover –version4.6.519
Edite todos os arquivos .csproj e a solução principal.
Insira o trecho de código <DebugType>Full</DebugType> entre as tags <PropertyGroup></PropertyGroup>
Agora crie um arquivo .bat usando um editor de texto qualquer adequando os comandos a seguir para os do seu projeto.
- Instale o sonarscanner
- dotnet tool install –global dotnet-sonarscanner
- Inicialize o sonarscanner
- dotnet sonarscanner begin /k:”Projeto_Teste”/d:sonar.cs.opencover.reportsPaths=”%CD%\opencover.xml”
- Buildar o projeto
- dotnet build C:\Projeto_Teste\ Projeto_Teste.sln
Salve com o nome “sonar-execute” e com a extensão .bat
Execute o sonar-execute.bat dentro do projeto onde foi salvo.
Para subir a análise do seu projeto de teste, basta criar um arquivo .bat como no passo anterior e salvar com o nome “sonar-only-opencover”. Assim será feito um scanner do projeto de teste para geração do relatório de cobertura (coverage).
- %USERPROFILE%\.nuget\packages\opencover\4.6.519\tools\OpenCover.Console.exe – output:”%CD%\opencover.xml” -register:user -target:”C:\Program Files\dotnet\dotnet.exe” – targetargs:”test Projeto_Teste.Backend.AppService.TestesUnitarios\AppService.TestesUnitarios.csproj” -oldstyle
- Use o comando “dotnet sonarscanner end” para finalizar a análise e enviar os dados para o servidor
Execute o sonar-only-opencover.bat
Extra
Caso queira que algum projeto seja excluído da análise do SonarQube, insira o trecho de código <SonarQubeExclude>true</SonarQubeExclude> entre as tags<PropertyGroup></PropertyGroup>
Pronto! Agora é só acessar o http://localhost:9000 usando login e senha “admin” e terá as análises e relatórios do seu código.
Configuração Sonarqube remoto usando o Azure DevOps
Após configurado o Sonarqube local, basta ajustar a build no Pipelines do Azure DevOps.
Clique em “Edit” para realizar configuração da build que deseja ativar a cobertura de código. Acesse a aba “Prepare analysis on SonarQube” e preencha seu campo obrigatório Project Key, além do nome do projeto (Project Name).
Lembre-se de preencher a guia Advanced. Nela, poderá definir o caminho que se localiza o arquivo opencover.xml (sonar.cs.opencover.reportsPaths), além de ser possível também excluir alguns arquivos específicos da solução da cobertura de código na análise (sonar.coverage.exclusions).
Posteriormente, preencha a guia Run sonar-only-opencover.bat. Nesta etapa, deve-se apontar o caminho do .bat criado na configuração local. Para isso, preencha a aba “Path”.
Lembre-se de preencher a guia Advanced com a pasta que se encontra o arquivo .bat na aba Working folder.
Após realizadas as configurações acima, rode a build remota através da opção Queue.
Execute a build e pronto!
Caso encontre algum erro que quebre a build, verifique seu “Log”. Caso a build seja bem sucedida, entre no link: http://sonarqube.”seu_servidor”.com.br:9000/. Os dados analisados pelo SonarQube, inclusive a cobertura de código, deverão ser apresentados.
Esperamos ter ajudado vocês leitores.
Até a próxima!
Desenvolvimento de Software
Confira outros artigos
Testes end-to-end: sucesso na implementação da automação
Hoje, como você garante a entrega de valor, a confiabilidade e a eficiência do seu projeto? Com o intuito de responder a essa questão crucial, uma das melhores respostas é a automação de testes end-to-end. Muitas pessoas, principalmente nossos clientes, tendem a imaginar que automação de testes é apenas mais um tipo de teste de […]
Desenvolvimento de Software
Mecanismos de Acompanhamento no Desenvolvimento de Software
O uso de mecanismos de acompanhamento é imprescindível no mundo do desenvolvimento de software e pode potencializar a eficiência digital. O acompanhamento efetivo das operações é fundamental para garantir a entrega de soluções digitais de sucesso. Na nossa empresa, utilizamos uma metodologia única, o dti evolve, que incorpora inteligência artificial (IA) para acelerar nosso processo de […]
Desenvolvimento de Software
Eficiência digital com copilot: um caso de uso do GitHub
Em um mundo em constante evolução tecnológica, otimizar o tempo e potencializar a eficiência digital se torna cada vez mais crucial. Portanto, vamos apresentar alguns experimentos que estão sendo implementados com o Git Hub Copilot em busca de maior eficiência digital. Certamente quem nos acompanha sabe que estamos experimentando e introduzindo as melhores ferramentas de […]
Desenvolvimento de Software