Mudanças entre as edições de "Jenkins + SonarQube"
(Criou página com '== Como configurar ==') |
|||
(8 revisões intermediárias por 2 usuários não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
== Como configurar == | == 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 |
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