SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
Coloque seu débito técnico sob controle
O que é Sonar? 
• SonarQube é uma plataforma OpenSource para 
gerenciar a qualidade do código.
Os sete eixos de qualidade 
de código
Arquitetura do SonarQube
Quem usa isso? 
• 250K+ downloads 
• 25K+ instances no mundo 
• 1500+ assinantes de listas de discussão 
http://www.sonarsource.com/customers/customer-list/
O passo a passo 
• Baixe o SonarQube-Server: http://www.sonarqube.org/downloads/ 
• Descompacte 
• Em ambientes unix recomenda-se no diretório /etc 
• No windows será necessário dar acesso de admin ao diretório 
• Configure as seguintes propriedades no arquivo <path_to_sonar>/conf/sonar.properties 
• sonar.web.host: 127.0.0.1#(or localhost) 
• sonar.web.port: 9000 
• sonar.web.context: /sonar 
• username: sonar / password: sonar 
• Iniciando o servidor 
• Windows: <path_to_sonar>/bin/windows-x86-{32, 64}/StartSonar.bat 
• Mac OSX:: <path_to_sonar>/bin/macosx-universal-{32, 64}/sonar.sh 
• Linux:: <path_to_sonar>/bin/linux-{ppc-64, x86-32, x86-64)/sonar.sh
Agora vamos ao SonarRunner 
O SonarQube-Runner é recomendado como o launcher padrão para 
analisar um projeto com SonarQube. 
• Baixe o SonarQube-Runner: http://goo.gl/8dU2wm 
• Descompacte no mesmo diretório que se encontra o SonarQube-Server /etc 
• Configure as seguintes propriedades do arquivo <install_directory>/conf/sonar-runner.properties 
• #sonar.host.url=http://localhost:9000 
• #sonar.jdbc.username=sonar 
• #sonar.jdbc.password=sonar! 
• Crie uma nova variável de ambiente SONAR_RUNNER_HOME 
• Exemplo: SONAR_RUNNER_HOME=/etc/sonar-runner-2.4 
• Verifique a instalação básica, executando o comando no Unix sonar-runner -h e no Windows sonar-runner. 
bat H e em seguida será exibido uma lista de opções.
Configurações no Maven 
$ projeto/pom.xml
Configurações no Maven 
$ projeto/pom.xml
Gerando as métricas 
$ projeto/! 
! 
mvn sonar:sonar -Dsonar.host.url=http://localhost:9000/sonar!
Veja o resultado 
http://localhost:9000/sonar/! 
!
Entendendo a métrica de 
Complexidade e Qualidade 
Complexidade! 
! 
! •! 1-4 Perfeito!! 
! •! 5-7 Ok! 
! •! 8-10 Precisa de re-factoring! 
! •! 11+ Re-factor now! 
http://pt.slideshare.net/mailtoshinu/training-material-sonar-v1?next_slideshow=1
Próximos passos 
• Configurar o plugin cobertura (para testes unitários 
e integrados) 
• Instalar e configurar o SonarQube em uma VM 
dedicada 
• Adicionar job no Jenkins para executar o profile do 
sonar no maven do EP 
• O time acompanhar as métricas ;-)
Agora é só curtir
Denis Santos! 
Senior Developer and E-commerce Specialist 
! 
denissys@gmail.com 
@Denis_Santos 
linkedin.com/in/denissantosjava

Mais conteúdo relacionado

Mais procurados

Black box testing - SlideShare jayed hossain jibon
Black box testing - SlideShare  jayed hossain jibonBlack box testing - SlideShare  jayed hossain jibon
Black box testing - SlideShare jayed hossain jibonJayed Hossain Jibon
 
Mocking APIs Collaboratively with Postman
Mocking APIs Collaboratively with PostmanMocking APIs Collaboratively with Postman
Mocking APIs Collaboratively with PostmanNordic APIs
 
Performance Engineering
Performance EngineeringPerformance Engineering
Performance EngineeringKumar Gupta
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareCamilo Almendra
 
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágilTodas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágilElias Nogueira
 
Sistemas Distribuídos - Comunicação Distribuída – CORBA
Sistemas Distribuídos - Comunicação Distribuída – CORBASistemas Distribuídos - Comunicação Distribuída – CORBA
Sistemas Distribuídos - Comunicação Distribuída – CORBAAdriano Teixeira de Souza
 
Mean full stack development
Mean full stack developmentMean full stack development
Mean full stack developmentScott Lee
 
API Test Automation Tips and Tricks
API Test Automation Tips and TricksAPI Test Automation Tips and Tricks
API Test Automation Tips and Trickstesthive
 
ATDD Using Robot Framework
ATDD Using Robot FrameworkATDD Using Robot Framework
ATDD Using Robot FrameworkPekka Klärck
 
De a máxima cobertura nos seus testes de API
De a máxima cobertura nos seus testes de APIDe a máxima cobertura nos seus testes de API
De a máxima cobertura nos seus testes de APIElias Nogueira
 
Java Basics for selenium
Java Basics for seleniumJava Basics for selenium
Java Basics for seleniumapoorvams
 
Introduction to jest
Introduction to jestIntroduction to jest
Introduction to jestpksjce
 
Automação de testes de API utilizando Postman
Automação de testes de API utilizando PostmanAutomação de testes de API utilizando Postman
Automação de testes de API utilizando PostmanLucas Amaral
 
A importância dos testes unitários: do código legado ao pipeline de testes em...
A importância dos testes unitários: do código legado ao pipeline de testes em...A importância dos testes unitários: do código legado ao pipeline de testes em...
A importância dos testes unitários: do código legado ao pipeline de testes em...Rodrigo Oliveira, Msc, PMP
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation TestingArchana Krushnan
 
Implementando Testes Unitários em Java - Manoel Pimentel
Implementando Testes Unitários em Java - Manoel PimentelImplementando Testes Unitários em Java - Manoel Pimentel
Implementando Testes Unitários em Java - Manoel PimentelManoel Pimentel Medeiros
 

Mais procurados (20)

Black box testing - SlideShare jayed hossain jibon
Black box testing - SlideShare  jayed hossain jibonBlack box testing - SlideShare  jayed hossain jibon
Black box testing - SlideShare jayed hossain jibon
 
Mocking APIs Collaboratively with Postman
Mocking APIs Collaboratively with PostmanMocking APIs Collaboratively with Postman
Mocking APIs Collaboratively with Postman
 
BDD com Cucumber
BDD com CucumberBDD com Cucumber
BDD com Cucumber
 
Performance Engineering
Performance EngineeringPerformance Engineering
Performance Engineering
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de Software
 
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágilTodas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
 
Sistemas Distribuídos - Comunicação Distribuída – CORBA
Sistemas Distribuídos - Comunicação Distribuída – CORBASistemas Distribuídos - Comunicação Distribuída – CORBA
Sistemas Distribuídos - Comunicação Distribuída – CORBA
 
Mean full stack development
Mean full stack developmentMean full stack development
Mean full stack development
 
API Test Automation Tips and Tricks
API Test Automation Tips and TricksAPI Test Automation Tips and Tricks
API Test Automation Tips and Tricks
 
Apresentação rest api
Apresentação rest apiApresentação rest api
Apresentação rest api
 
ATDD Using Robot Framework
ATDD Using Robot FrameworkATDD Using Robot Framework
ATDD Using Robot Framework
 
De a máxima cobertura nos seus testes de API
De a máxima cobertura nos seus testes de APIDe a máxima cobertura nos seus testes de API
De a máxima cobertura nos seus testes de API
 
Java Basics for selenium
Java Basics for seleniumJava Basics for selenium
Java Basics for selenium
 
Introduction to jest
Introduction to jestIntroduction to jest
Introduction to jest
 
Automação de testes de API utilizando Postman
Automação de testes de API utilizando PostmanAutomação de testes de API utilizando Postman
Automação de testes de API utilizando Postman
 
A importância dos testes unitários: do código legado ao pipeline de testes em...
A importância dos testes unitários: do código legado ao pipeline de testes em...A importância dos testes unitários: do código legado ao pipeline de testes em...
A importância dos testes unitários: do código legado ao pipeline de testes em...
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
Implementando Testes Unitários em Java - Manoel Pimentel
Implementando Testes Unitários em Java - Manoel PimentelImplementando Testes Unitários em Java - Manoel Pimentel
Implementando Testes Unitários em Java - Manoel Pimentel
 
Plano de teste
Plano de testePlano de teste
Plano de teste
 

Semelhante a Introdução, instalação e configuração do SonarQube

Análise de qualidade de código com Sonar - Fernando Boaglio
Análise de qualidade de código com Sonar - Fernando Boaglio Análise de qualidade de código com Sonar - Fernando Boaglio
Análise de qualidade de código com Sonar - Fernando Boaglio Fernando Boaglio
 
Jenkins com sonar qube
Jenkins com sonar qubeJenkins com sonar qube
Jenkins com sonar qubeHumberto Bioca
 
Jenkins com sonar qube
Jenkins com sonar qubeJenkins com sonar qube
Jenkins com sonar qubeHumberto Bioca
 
Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Wellington Silva
 
Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory gigadrop
 
Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginnersRafael Chiavegatto
 
Controlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e SubversionControlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e Subversionlekitamura
 
Docker Swarm - Sua aplicação pronta para escalar
Docker Swarm - Sua aplicação pronta para escalarDocker Swarm - Sua aplicação pronta para escalar
Docker Swarm - Sua aplicação pronta para escalargustavomtborges
 
Video Distribution in the Internet (pt_BR)
Video Distribution in the Internet (pt_BR)Video Distribution in the Internet (pt_BR)
Video Distribution in the Internet (pt_BR)Marcello Azambuja
 
Orquestrando Docker Containers: Machine, Swarm e Compose
Orquestrando Docker Containers: Machine, Swarm e ComposeOrquestrando Docker Containers: Machine, Swarm e Compose
Orquestrando Docker Containers: Machine, Swarm e ComposeRoberto Hashioka
 
Datacenter na nuvem
Datacenter na nuvemDatacenter na nuvem
Datacenter na nuvemIgnacio Nin
 
TDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerTDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerRafael Gomes
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucaoFernando Ike
 

Semelhante a Introdução, instalação e configuração do SonarQube (20)

Análise de qualidade de código com Sonar - Fernando Boaglio
Análise de qualidade de código com Sonar - Fernando Boaglio Análise de qualidade de código com Sonar - Fernando Boaglio
Análise de qualidade de código com Sonar - Fernando Boaglio
 
Jenkins com SonarQube
Jenkins com SonarQubeJenkins com SonarQube
Jenkins com SonarQube
 
Jenkins com sonar qube
Jenkins com sonar qubeJenkins com sonar qube
Jenkins com sonar qube
 
Jenkins com sonar qube
Jenkins com sonar qubeJenkins com sonar qube
Jenkins com sonar qube
 
Jenkins com SonarQube
Jenkins com SonarQubeJenkins com SonarQube
Jenkins com SonarQube
 
Treinamento Rancher
Treinamento RancherTreinamento Rancher
Treinamento Rancher
 
Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3
 
Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory
 
Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginners
 
Controlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e SubversionControlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e Subversion
 
Automação de Data Center
Automação de Data CenterAutomação de Data Center
Automação de Data Center
 
Docker Swarm - Sua aplicação pronta para escalar
Docker Swarm - Sua aplicação pronta para escalarDocker Swarm - Sua aplicação pronta para escalar
Docker Swarm - Sua aplicação pronta para escalar
 
Video Distribution in the Internet (pt_BR)
Video Distribution in the Internet (pt_BR)Video Distribution in the Internet (pt_BR)
Video Distribution in the Internet (pt_BR)
 
Orquestrando Docker Containers: Machine, Swarm e Compose
Orquestrando Docker Containers: Machine, Swarm e ComposeOrquestrando Docker Containers: Machine, Swarm e Compose
Orquestrando Docker Containers: Machine, Swarm e Compose
 
Spacewalk - Solisc
Spacewalk - Solisc Spacewalk - Solisc
Spacewalk - Solisc
 
Datacenter na nuvem
Datacenter na nuvemDatacenter na nuvem
Datacenter na nuvem
 
De 0 a DevOps
De 0 a DevOpsDe 0 a DevOps
De 0 a DevOps
 
Debug de cabo a rabo
Debug de cabo a raboDebug de cabo a rabo
Debug de cabo a rabo
 
TDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerTDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop docker
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucao
 

Mais de Denis Santos

Carrefour E-commerce - Multicloud Brasil Day 2017
Carrefour E-commerce - Multicloud Brasil Day 2017Carrefour E-commerce - Multicloud Brasil Day 2017
Carrefour E-commerce - Multicloud Brasil Day 2017Denis Santos
 
Performance test on Carrefour
Performance test on CarrefourPerformance test on Carrefour
Performance test on CarrefourDenis Santos
 
Code review automation and functional tests on Carrefour
Code review automation and functional tests on CarrefourCode review automation and functional tests on Carrefour
Code review automation and functional tests on CarrefourDenis Santos
 
Arquitetura Ágil 2.0
Arquitetura Ágil 2.0Arquitetura Ágil 2.0
Arquitetura Ágil 2.0Denis Santos
 
Boas práticas de desenvolvimento ágil com Continuous Integration + Delivery e...
Boas práticas de desenvolvimento ágil com Continuous Integration + Delivery e...Boas práticas de desenvolvimento ágil com Continuous Integration + Delivery e...
Boas práticas de desenvolvimento ágil com Continuous Integration + Delivery e...Denis Santos
 
Migração SVN para GIT
Migração SVN para GITMigração SVN para GIT
Migração SVN para GITDenis Santos
 
Integração utilizando REST API e Microservices
Integração utilizando REST API e MicroservicesIntegração utilizando REST API e Microservices
Integração utilizando REST API e MicroservicesDenis Santos
 
Comunidade Ágil Netshoes - O que tem dado certo no time de Integração
Comunidade Ágil Netshoes - O que tem dado certo no time de IntegraçãoComunidade Ágil Netshoes - O que tem dado certo no time de Integração
Comunidade Ágil Netshoes - O que tem dado certo no time de IntegraçãoDenis Santos
 
Continuous Delivery / Entrega Contínua
Continuous Delivery / Entrega ContínuaContinuous Delivery / Entrega Contínua
Continuous Delivery / Entrega ContínuaDenis Santos
 

Mais de Denis Santos (9)

Carrefour E-commerce - Multicloud Brasil Day 2017
Carrefour E-commerce - Multicloud Brasil Day 2017Carrefour E-commerce - Multicloud Brasil Day 2017
Carrefour E-commerce - Multicloud Brasil Day 2017
 
Performance test on Carrefour
Performance test on CarrefourPerformance test on Carrefour
Performance test on Carrefour
 
Code review automation and functional tests on Carrefour
Code review automation and functional tests on CarrefourCode review automation and functional tests on Carrefour
Code review automation and functional tests on Carrefour
 
Arquitetura Ágil 2.0
Arquitetura Ágil 2.0Arquitetura Ágil 2.0
Arquitetura Ágil 2.0
 
Boas práticas de desenvolvimento ágil com Continuous Integration + Delivery e...
Boas práticas de desenvolvimento ágil com Continuous Integration + Delivery e...Boas práticas de desenvolvimento ágil com Continuous Integration + Delivery e...
Boas práticas de desenvolvimento ágil com Continuous Integration + Delivery e...
 
Migração SVN para GIT
Migração SVN para GITMigração SVN para GIT
Migração SVN para GIT
 
Integração utilizando REST API e Microservices
Integração utilizando REST API e MicroservicesIntegração utilizando REST API e Microservices
Integração utilizando REST API e Microservices
 
Comunidade Ágil Netshoes - O que tem dado certo no time de Integração
Comunidade Ágil Netshoes - O que tem dado certo no time de IntegraçãoComunidade Ágil Netshoes - O que tem dado certo no time de Integração
Comunidade Ágil Netshoes - O que tem dado certo no time de Integração
 
Continuous Delivery / Entrega Contínua
Continuous Delivery / Entrega ContínuaContinuous Delivery / Entrega Contínua
Continuous Delivery / Entrega Contínua
 

Introdução, instalação e configuração do SonarQube

  • 1. Coloque seu débito técnico sob controle
  • 2. O que é Sonar? • SonarQube é uma plataforma OpenSource para gerenciar a qualidade do código.
  • 3. Os sete eixos de qualidade de código
  • 5. Quem usa isso? • 250K+ downloads • 25K+ instances no mundo • 1500+ assinantes de listas de discussão http://www.sonarsource.com/customers/customer-list/
  • 6. O passo a passo • Baixe o SonarQube-Server: http://www.sonarqube.org/downloads/ • Descompacte • Em ambientes unix recomenda-se no diretório /etc • No windows será necessário dar acesso de admin ao diretório • Configure as seguintes propriedades no arquivo <path_to_sonar>/conf/sonar.properties • sonar.web.host: 127.0.0.1#(or localhost) • sonar.web.port: 9000 • sonar.web.context: /sonar • username: sonar / password: sonar • Iniciando o servidor • Windows: <path_to_sonar>/bin/windows-x86-{32, 64}/StartSonar.bat • Mac OSX:: <path_to_sonar>/bin/macosx-universal-{32, 64}/sonar.sh • Linux:: <path_to_sonar>/bin/linux-{ppc-64, x86-32, x86-64)/sonar.sh
  • 7. Agora vamos ao SonarRunner O SonarQube-Runner é recomendado como o launcher padrão para analisar um projeto com SonarQube. • Baixe o SonarQube-Runner: http://goo.gl/8dU2wm • Descompacte no mesmo diretório que se encontra o SonarQube-Server /etc • Configure as seguintes propriedades do arquivo <install_directory>/conf/sonar-runner.properties • #sonar.host.url=http://localhost:9000 • #sonar.jdbc.username=sonar • #sonar.jdbc.password=sonar! • Crie uma nova variável de ambiente SONAR_RUNNER_HOME • Exemplo: SONAR_RUNNER_HOME=/etc/sonar-runner-2.4 • Verifique a instalação básica, executando o comando no Unix sonar-runner -h e no Windows sonar-runner. bat H e em seguida será exibido uma lista de opções.
  • 8. Configurações no Maven $ projeto/pom.xml
  • 9. Configurações no Maven $ projeto/pom.xml
  • 10. Gerando as métricas $ projeto/! ! mvn sonar:sonar -Dsonar.host.url=http://localhost:9000/sonar!
  • 11. Veja o resultado http://localhost:9000/sonar/! !
  • 12. Entendendo a métrica de Complexidade e Qualidade Complexidade! ! ! •! 1-4 Perfeito!! ! •! 5-7 Ok! ! •! 8-10 Precisa de re-factoring! ! •! 11+ Re-factor now! http://pt.slideshare.net/mailtoshinu/training-material-sonar-v1?next_slideshow=1
  • 13. Próximos passos • Configurar o plugin cobertura (para testes unitários e integrados) • Instalar e configurar o SonarQube em uma VM dedicada • Adicionar job no Jenkins para executar o profile do sonar no maven do EP • O time acompanhar as métricas ;-)
  • 14. Agora é só curtir
  • 15. Denis Santos! Senior Developer and E-commerce Specialist ! denissys@gmail.com @Denis_Santos linkedin.com/in/denissantosjava