Troubleshooting Resolve OutOfMemory no Jetty c/ o Sonar

 

 

Olá Pessoal,,

O troubleshooting de hoje é para quem tentou fazer o deploy do sonar.war localmente no jJtty e recebeu o velho e famoso OutOfMemory permgen. Chato né?

 

E como resolver?

No windows, vá até a pasta onde está o jetty e procure o arquivo start.ini e adicione no final do arquivo:

 –exec

-Xmx512m

-XX:MaxPermSize=256m

No linux: 

Você precisa alterar o arquivo jetty.sh que está dentro da pasta bin. Adicione o trecho abaixo na linha 81, removendo o #.

export JAVA_OPTIONS=”-Xmx512m -XX:MaxPermSize=265m”

Pronto, isso já resolverá o problema. Agora basta executar o start.bat ou jetty.sh, depende do seu OS.

Abracos, see ya!!

Série CI: Integrando Sonar com Jenkins

Olá Pessoal

No post de hoje veremos como integrar o sonar com o jenkins.  Para quem não sabe, o sonar é uma ferramenta PMD para análise do código. Em outras palavras, o Sonar olha e diz: “o nome dessa variável não está legal”, “ei tem código duplicado nessa classe”, etc. Vamos ver  como integrar essa ferramenta com o build, pois logo após fim do build o sonar roda e faz o trabalho dele.

Lets go..

Primeiro Passo

Baixe o sonar http://www.sonarqube.org/downloads/ . Para o exemplo estou usando o sonar 3.4.1, pois é o que tenho aqui . E a versão SonarQube.

Segundo Passo

Vou considerar que você já vem acompanhando a série Continous Integrations com Jenkins aqui no blog, então você já tem o Jenkins e um projeto configurado.

Terceiro Passo

Após ter baixado o sonar, descompacte o .zip e via prompt de comando vá até

sonar-3.4.1\bin

Em seguida entre na pasta referente ao sistema operacional que está usando e execute o arquivo .bat ou .sh.

 

sonarrunninglocal

 

sonarrunning

Quarto Passo

Inicie o Jenkins

Quinto Passo

Instale o plugin do sonar no Jenkins sem reiniciar aplicação. 

 

sonarjenkinsplugin

Sexto Passo

Após  instalação vá em Jenkins >> Manage Jenkins >> Configure Systems . Você vai ver que o sonar foi adicionado. Clique em advanced e deixe conforme a  seguir:

 

sonarconfigjenkins

Apenas informamos a URL onde o Sonar está sendo executado, o resto deixamos em branco porque estamos rodando local e com o banco embedded.  Para fazer com um banco real, consulte a documentação do sonar.

Clique em save.

Sétimo Passo

Vá em configure do seu  projeto no Jenkins

sonarprojectconfigure

E em post build actions clique em add e escolha sonar:

Ao clicar em Add post-build action escolha a opção “Build Pipeline Plugin >> Manually Execute Downstream Project”

 

sonarbuildpost

E deixe assim:

 

sonarjob

Save.

Oitavo Passo

Build Now o projeto e aguarde:

 

sonarbulding

 

sonarbuilddone

 

sonarappreaderweb

Pronto! Simples, não?

Vou ficando por aqui. Espero que tenham gostado.

See ya!!

Abraços.