Mudanças entre as edições de "Jenkins + SonarQube"

De MSTECH wiki
Ir para: navegação, pesquisa
(Como configurar)
 
(7 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

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:

  1. Dentro da pasta do sonarqube acesse a pasta conf e edite o arquivo sonar.properties
  2. Para aumentar a capacidade do servidor web:
    1. remova o comentário "#sonar.web.javaOpts=-Xmx2048m -Xms1024m -XX:+HeapDumpOnOutOfMemoryError -Djava.net.preferIPv4Stack=true"
  3. Para aumentar a capacidade do compute engine
    1. remova o comentário "#sonar.ce.javaOpts=-Xmx2048m -Xms1024m -XX:+HeapDumpOnOutOfMemoryError -Djava.net.preferIPv4Stack=true"
  4. 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:
  1. Dentro da pasta do sonar scanner, acesse a pasta bin e edite o arquivo sonar-scanner.bat
  2. 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:

Se o host tiver autenticação:

  • sonar.login=seu.usuario
  • sonar.password=sua.senha