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

Modelos de estruturação de sistemas distribuídos
Modelos de estruturação de sistemas distribuídosModelos de estruturação de sistemas distribuídos
Modelos de estruturação de sistemas distribuídos
Portal_do_Estudante_SD
 
Introdução à Engenharia de Requisitos e RUP
Introdução à Engenharia de Requisitos e RUPIntrodução à Engenharia de Requisitos e RUP
Introdução à Engenharia de Requisitos e RUP
Vagner Santana
 
Asp.net architecture
Asp.net architectureAsp.net architecture
Asp.net architecture
Iblesoft
 

Mais procurados (20)

Modelos de estruturação de sistemas distribuídos
Modelos de estruturação de sistemas distribuídosModelos de estruturação de sistemas distribuídos
Modelos de estruturação de sistemas distribuídos
 
Exemplo de Plano de testes
Exemplo de Plano de testes Exemplo de Plano de testes
Exemplo de Plano de testes
 
Introdução ao GitHub e Git
Introdução ao GitHub  e GitIntrodução ao GitHub  e Git
Introdução ao GitHub e Git
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
DESENVOLVIMENTO DE PROJETO PARA IMPLANTAÇÃO DO CMMI NIVEL DOIS DE MATURIDADE ...
DESENVOLVIMENTO DE PROJETO PARA IMPLANTAÇÃO DO CMMI NIVEL DOIS DE MATURIDADE ...DESENVOLVIMENTO DE PROJETO PARA IMPLANTAÇÃO DO CMMI NIVEL DOIS DE MATURIDADE ...
DESENVOLVIMENTO DE PROJETO PARA IMPLANTAÇÃO DO CMMI NIVEL DOIS DE MATURIDADE ...
 
Decoupling your application using Symfony Messenger and events
Decoupling your application using Symfony Messenger and eventsDecoupling your application using Symfony Messenger and events
Decoupling your application using Symfony Messenger and events
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
Aula 2. frameworks js
Aula 2. frameworks jsAula 2. frameworks js
Aula 2. frameworks js
 
Modelo Incremental - Engenharia de Software
Modelo Incremental - Engenharia de SoftwareModelo Incremental - Engenharia de Software
Modelo Incremental - Engenharia de Software
 
Cartilhas uca.6-configuracao-do-ponto-de-acesso
Cartilhas uca.6-configuracao-do-ponto-de-acessoCartilhas uca.6-configuracao-do-ponto-de-acesso
Cartilhas uca.6-configuracao-do-ponto-de-acesso
 
Python Interface Gráfica Tkinter
Python Interface Gráfica TkinterPython Interface Gráfica Tkinter
Python Interface Gráfica Tkinter
 
Introdução à Engenharia de Requisitos e RUP
Introdução à Engenharia de Requisitos e RUPIntrodução à Engenharia de Requisitos e RUP
Introdução à Engenharia de Requisitos e RUP
 
Sistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockSistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 Deadlock
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
ABORDAGEM DE JOGOS DIGITAIS: ANÁLISE E INVERSÃO DA MECÂNICA NO JOGO ALEX KIDD...
ABORDAGEM DE JOGOS DIGITAIS: ANÁLISE E INVERSÃO DA MECÂNICA NO JOGO ALEX KIDD...ABORDAGEM DE JOGOS DIGITAIS: ANÁLISE E INVERSÃO DA MECÂNICA NO JOGO ALEX KIDD...
ABORDAGEM DE JOGOS DIGITAIS: ANÁLISE E INVERSÃO DA MECÂNICA NO JOGO ALEX KIDD...
 
Asp.net architecture
Asp.net architectureAsp.net architecture
Asp.net architecture
 
Apache jMeter
Apache jMeterApache jMeter
Apache jMeter
 
Modelo plano de_testes
Modelo plano de_testesModelo plano de_testes
Modelo plano de_testes
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
(애자일) 테스트 계획서 샘플
(애자일) 테스트 계획서 샘플(애자일) 테스트 계획서 샘플
(애자일) 테스트 계획서 샘플
 

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

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

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