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
WhatsApp Business na sua estratégia: muito além de um chatbot
Podemos dizer adeus a conversas monótonas com chatbots limitados e sem personalidade. Daqui em diante, veremos interfaces conversacionais oferecendo experiências digitais cada vez mais sofisticadas. Em outro artigo, abordamos como mais experiências estão sendo convertidas, progressivamente, em conversas e como essa tendência é potencializada pelos avanços nos modelos de Inteligência Artificial e nos canais de […]
Desenvolvimento de Software
A Inteligência Artificial (IA) e otimização operacional nas empresas
Sumário1 Como a Inteligência Artificial (IA) pode otimizar operações empresariais e aumentar a eficiência? Descubra aqui! 2 Automatização de tarefas repetitivas e demoradas 2.1 Exemplos de IA para economia de tempo2.2 10 exemplos de como utilizar a Inteligência Artificial (IA) para automatizar tarefas repetitivas e/ou demoradas: 3 Melhoria da eficiência e redução de custos com Inteligência Artificial (IA)3.1 […]
Desenvolvimento de Software
Desenvolvimento Android x iOS: 10 recomendações para o desenvolvimento produtivo
Entre agosto de 2022 e junho de 2023, o mercado de aplicativos móveis experimentou um crescimento notável, projetando um aumento anual de 13,4% até 2030, alcançando um mercado estimado em US$ 187,58 bilhões. E, certamente, a tendência é que essa expansão continue exponencialmente nos próximos anos. Portanto, agora é a hora de explorar as oportunidades […]
Desenvolvimento de Software