Mudanças entre as edições de "Jenkins + SonarQube"
(→Como configurar) |
|||
(5 revisões intermediárias por 2 usuários não estão sendo mostradas) | |||
Linha 5: | Linha 5: | ||
SonarQube na versão 2.4.4 | SonarQube na versão 2.4.4 | ||
+ | |||
=== Configurar o server do SonarQube no Jenkins === | === Configurar o server do SonarQube no Jenkins === | ||
Linha 13: | Linha 14: | ||
'''Name''': Nome desta instalação | '''Name''': Nome desta instalação | ||
− | '''Server URL''': URL do | + | '''Server URL''': URL do SonarQube |
'''Server Version''': Default | '''Server Version''': Default | ||
+ | |||
=== Ativar o SonarQube Scanner === | === Ativar o SonarQube Scanner === | ||
Linha 46: | Linha 48: | ||
Aparecerá o logo do SonarQube no seu projeto e agora você poderá executar a sua análise de projeto e ver o resultado. | Aparecerá o logo do SonarQube no seu projeto e agora você poderá executar a sua análise de projeto e ver o resultado. | ||
E logo após a execução do Sonar pelo Jenquins você poderá acessar o site do Sonar e ver o resultado do seu projeto. | E logo após a execução do Sonar pelo Jenquins você poderá acessar o site do Sonar e ver o resultado do seu projeto. | ||
+ | |||
+ | |||
+ | |||
+ | === JVMs básicas do Sonarqube e Sonar Scanner === | ||
+ | |||
+ | Apenas para entender o conceito, o sonarqube possui: | ||
+ | * 1 JVM para rodar o servidor web | ||
+ | * 1 JVM de 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. | ||
+ | |||
+ | |||
+ | === Configuração da JVM === | ||
+ | |||
+ | 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 ao executar''', pode acontecer durante a execução do sonar scanner ou no momento que o sonarqube está processando os dados para visualizar no site. | ||
+ | |||
+ | Para resolver este problema é possível realizar algumas configurações para aumentar a capacidade das JVMs. | ||
+ | |||
+ | |||
+ | ===== Configurando o Sonarqube: ===== | ||
+ | |||
+ | Se estiver executando o sonar local, acompanhe os passos: | ||
+ | |||
+ | # 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. | ||
+ | |||
+ | |||
+ | ''Dica: O que mais requer memória é o serviço, dificilmente dará problemas de memória no site.'' | ||
+ | |||
+ | |||
+ | ===== 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.'' | ||
+ | |||
+ | |||
+ | === Conexão com servidor web === | ||
+ | |||
+ | É possível configurar o sonar scanner para enviar os dados da análise do código para um servidor web do sonarqube, o que facilita não ter que rodar o server local. Para fazer isso, dentro da pasta do sonar scanner, acesse a '''pasta conf''' e edite o arquivo '''sonar.properties'''. | ||
+ | |||
+ | Para incluir o host: | ||
+ | * sonar.host.url=http://sonarqube.mstech.com.br | ||
+ | |||
+ | Se o host tiver autenticação: | ||
+ | * sonar.login=seu.usuario | ||
+ | * sonar.password=sua.senha |
Edição atual tal como às 21h28min de 11 de agosto de 2016
Índice
Como configurar
Plugin no Jenkins
Adicione o plugin do sonarqube
SonarQube na versão 2.4.4
Configurar o server do SonarQube no Jenkins
No Jenkins, vá em Gerenciar Jenkins -> Configurar o Sistema. Procure o bloco SonarQube servers e preencha os campos
Name: Nome desta instalação
Server URL: URL do SonarQube
Server Version: Default
Ativar o SonarQube Scanner
Acesse Gerenciar Jenkins -> Global Tool Configuration Procure o bloco SonarQube Scanner Este bloco virá desabilitado e temos que configurar duas coisas:
Name: Nome do seu scanner
Intall From Maven Central: Default.
Configurando o projeto
Navegue até seu projeto no Jenkins e clique em Configurar. No bloco Build, clique na lista “Adicionar passo no build”. Selecione o Execute SonarQube Scanner.
Preencha os campos:
Task to run: Deixe em branco JDK: Inherit From Job Path to project properties: Coloque o caminho para o arquivo de configuração do Sonar (sonar-project.properties). Analysis properties: Caso você preencheu o campo acima, não preencha este. Caso não, coloque aqui o conteúdo do seu arquivo de configuração do sonar.
Execução
Aparecerá o logo do SonarQube no seu projeto e agora você poderá executar a sua análise de projeto e ver o resultado. E logo após a execução do Sonar pelo Jenquins você poderá acessar o site do Sonar e ver o resultado do seu projeto.
JVMs básicas do Sonarqube e Sonar Scanner
Apenas para entender o conceito, o sonarqube possui:
- 1 JVM para rodar o servidor web
- 1 JVM de 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.
Configuração da JVM
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 ao executar, pode acontecer durante a execução do sonar scanner ou no momento que o sonarqube está processando os dados para visualizar no site.
Para resolver este problema é possível realizar algumas configurações para aumentar a capacidade das JVMs.
Configurando o Sonarqube:
Se estiver executando o sonar local, acompanhe os passos:
- 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.
Dica: O que mais requer memória é o serviço, dificilmente dará problemas de memória no site.
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.
Conexão com servidor web
É possível configurar o sonar scanner para enviar os dados da análise do código para um servidor web do sonarqube, o que facilita não ter que rodar o server local. Para fazer isso, dentro da pasta do sonar scanner, acesse a pasta conf e edite o arquivo sonar.properties.
Para incluir o host:
- sonar.host.url=http://sonarqube.mstech.com.br
Se o host tiver autenticação:
- sonar.login=seu.usuario
- sonar.password=sua.senha