Mudanças entre as edições de "Instalacao SonarQube"

De MSTECH wiki
Ir para: navegação, pesquisa
(Criou página com ' === Baixar arquivos === === Localização dos arquivos === Extraia os arquivos do SonarQube para C:/SonarQube. Extraia os arquivos do SonarScanner para C:/SonarScanner. =...')
 
(Limpou toda a página)
 
Linha 1: Linha 1:
  
=== Baixar arquivos ===
 
 
=== Localização dos arquivos ===
 
 
Extraia os arquivos do SonarQube para C:/SonarQube.
 
Extraia os arquivos do SonarScanner para C:/SonarScanner.
 
 
=== Configuração do projeto ===
 
 
Para configurarmos o nosso projeto para ser analisado pelo SonarQube precisamos adicionar um arquivo de configuração na raiz da solução (Mesmo nível do .sln).
 
 
O arquivo deverá se chamar: '''sonar-project.properties'''. Atenção, este arquivo deverá ser .properties e não .txt.
 
Este arquivo deverá ter o seguinte conteúdo:
 
 
        <nowiki># Required metadata
 
sonar.projectKey=IdentificadorUnicoDoProjeto
 
sonar.projectName=Nome do Meu Projeto
 
sonar.projectVersion=1.0.0
 
# Comma-separated paths to directories with sources(required)
 
sonar.sources=.
 
# Languages
 
sonar.languages=cs
 
# Ignore
 
sonar.exclusions=**/packages/**/*</nowiki>
 
 
'''sonar.projectKey''' deverá receber um identificador único para o sonar identificar o projeto. Permitido letras, números, hífen, underline, ponto e dois pontos.
 
 
'''sonar.projectName''' é o próprio nome do projeto que irá aparecer na lista de projetos do SonarQube.
 
 
'''sonar.projectVersion''' é a versão atual do projeto. Ele deve ser atualizado a cada scanner para que um histórico do projeto seja gerado.
 
 
'''sonar.sources''' deverá receber o nome da pasta que o SonarQube irá ler. Quando usado ponto após o igual (=.) será feita a leitura em todas subpastas do projeto.
 
 
'''sonar.languages''' recebe o tipo da linguagem de programação que ele analisará. Caso não coloque está configuração, será analisado todas as linguagens instaladas no sonarqube.
 
 
'''sonar.exclusions''' recebe a lista de arquivos ou pastas que não serão analisados durante a execução.
 
 
Exemplos:
 
  Excluir todas as pastas “vendor”, suas subpastas e arquivos:
 
      **/vendor/**/*
 
  Excluir todas as extensões javascript e css:
 
    **/*.js, **/*.css
 
  Excluir uma determinada pasta, subpasta e todos seus arquivos:
 
    src/packages/**/*
 
 
Mais informações:
 
 
http://docs.sonarqube.org/display/SONAR/Analysis+Parameters
 
 
=== Instalações SonarQube ===
 
 
==== Manualmente ====
 
 
Execute o CMD como administrador.
 
Navegue até a pasta onde se encontra o executor do SonarQube
 
Ex: C:\SonarQube\bin\windows-x86-64(32)
 
Execute o arquivo StartSonar.bat
 
Neste momento, o site do SonarQube ficará na porta http://localhost:9000/
 
 
==== Serviço do Windows ====
 
 
Execute o CMD como administrador.
 
Navegue até a pasta onde se encontra o executor do SonarQube
 
Ex: C:\SonarQube\bin\windows-x86-64(32)
 
Para instalar a instalação execute o arquivo
 
InstallNTService.bat
 
Para iniciar o serviço, execute o arquivo
 
StartNTService.bat
 
Neste momento, o site do SonarQube ficará na porta http://localhost:9000/
 
 
Caso precise alterar alguma configuração ou desinstalar execute
 
StopNTService.bat
 
UninstallNTService.bat
 
 
 
=== Executar Análise ===
 
 
Execute o CMD como administrador.
 
 
Navegue até a pasta do projeto onde está o seu .sln junto com seu arquivo de configuração.
 
EX: cd C:\Projetos\MeuProjeto\src
 
 
No mesmo CMD que navegou até a pasta do projeto, execute o Scanner
 
 
Para isso dê o caminho até o arquivo sonar-scanner.bat
 
EX.: C:\SonarScanner\bin\sonar-scanner.bat
 
 
Também é possível configurar o sonar scanner como variável ambiente para facilitar a execução.
 
Para isso acesse Painel de Controle → Sistema e Segurança → Sistema → Configurações avançadas do sistema → Variáveis em Ambiente… → Variáveis do sistema → adicione o caminho até pah asta bin do sonar scanner (ou windows + pause break).
 
 
Exemplo:  C:\sonarqube\sonar-scanner-2.6.1\bin. Depois de configurado, abra o CMD e execute o comando sonar-scanner.
 
 
Após executar o scanner, seu projeto começará a ser analisado. O resultado de saída irá aparecer no site do sonar http://localhost:9000/
 
 
 
=== Possíveis Problemas ===
 
 
==== Erro ao executar SonarQube como serviço d windows ====
 
Quando instalado o SonarQube como um serviço do Windows, ao executar ele buscará por uma pasta temporária em:   
 
        C:\Windows\system32\config\systemprofile\AppData\Local\Temp\
 
Você poderá ver isto no log de erros que ele mostra no CMD ou então no arquivo:
 
C:/SonarQube/logs/sonar.log
 
Esta pasta não existe e o Sonar muitas vezes mesmo executando como administrador não consegue/pode criar.
 
Como solução, você deverá alterar a configuração adicionando uma nova pasta temp:
 
Pare e desinstale o serviço do SonarQube.
 
Vá até a pasta de configuração
 
      C:/SonarQube/Conf/wrapper.conf
 
Comente a linha (#wrapper.java.additional.1=-Djava.awt.headless=true)
 
Adicione a linha: wrapper.java.additional.1=-Djava.awt.headless=true -Djava.io.tmpdir=C:\SonarQube\temp
 
Salve e em seguida reinstale e inicie o serviço do SonarQube.
 
 
====  Erro de memória ao executar o Sonar Scanner ====
 
 
Dependendo das configurações da máquina ou programas em execução, pode acontecer de uma das JVMs darem problema de falta de memória. Pode acontecer durante a execução do sonar scanner ou no momento que o sonarqube está processando os dados para visualizar no site.
 
 
Antes de configurar precisamos conhecer rapidamente as JVMs do sonarqube e sonar scanner.
 
O sonarqube possui:
 
      1 JVM para rodar o servidor web
 
      1 JVM chamada compute engine que é um serviço para processar os dados enviados pelo sonar scanner e enviar para o servidor web.
 
Enquanto que o sonar scanner possui:
 
      1 JVM que analisa o código baseado nas configurações e plugins existentes, enviando para o sonarqube webserver.
 
 
'''Configurando o SonarQube'''
 
Dentro da pasta do sonarqube acesse a pasta conf e edite o arquivo sonar.properties
 
Para aumentar a capacidade do servidor web:
 
remova o comentário "#sonar.web.javaOpts=-Xmx2048m -Xms1024m -XX:+HeapDumpOnOutOfMemoryError -Djava.net.preferIPv4Stack=true"
 
Para aumentar a capacidade do compute engine:
 
remova o comentário "#sonar.ce.javaOpts=-Xmx2048m -Xms1024m -XX:+HeapDumpOnOutOfMemoryError -Djava.net.preferIPv4Stack=true"
 
Salve o arquivo e tente executar novamente.
 
 
'''Configurando o Sonar Scanner'''
 
 
Dentro da pasta do sonar scanner, acesse a pasta bin e edite o arquivo sonar-scanner.bat
 
 
Na linha 76 antes do %JAVA_EXEC% copie e cole o seguinte comando "set SONAR_SCANNER_OPTS=-Xmx512m -XX:MaxPermSize=128m"
 
 
Dica: Dependendo da complexidade do projeto, talvez seja necessário aumentar mais do que 512mb da JVM.
 
 
 
== Referências ==
 
http://docs.sonarqube.org/display/SONAR/Get+Started+in+Two+Minutes
 
http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner
 

Edição atual tal como às 17h08min de 25 de agosto de 2016