SlideShare a Scribd company logo
1 of 15
Download to read 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

More Related Content

What's hot

Django Framework Overview forNon-Python Developers
Django Framework Overview forNon-Python DevelopersDjango Framework Overview forNon-Python Developers
Django Framework Overview forNon-Python DevelopersRosario Renga
 
Test Automation Using Selenium
Test Automation Using SeleniumTest Automation Using Selenium
Test Automation Using SeleniumNikhil Kapoor
 
SonarQube - Como avaliar seus fornecedores e garantir a qualidade de suas ent...
SonarQube - Como avaliar seus fornecedores e garantir a qualidade de suas ent...SonarQube - Como avaliar seus fornecedores e garantir a qualidade de suas ent...
SonarQube - Como avaliar seus fornecedores e garantir a qualidade de suas ent...Igor Rosa Macedo
 
Hybrid automation framework
Hybrid automation frameworkHybrid automation framework
Hybrid automation frameworkdoai tran
 
A Basic Django Introduction
A Basic Django IntroductionA Basic Django Introduction
A Basic Django IntroductionGanga Ram
 
Getting started with appium
Getting started with appiumGetting started with appium
Getting started with appiumPratik Patel
 
Mobile Application Testing Training Presentation
Mobile Application Testing Training PresentationMobile Application Testing Training Presentation
Mobile Application Testing Training PresentationMobiGnosis
 
Selenium- A Software Testing Tool
Selenium- A Software Testing ToolSelenium- A Software Testing Tool
Selenium- A Software Testing ToolZeba Tahseen
 
Test Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & ToolsTest Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & ToolsAmit Rawat
 
Appium basics
Appium basicsAppium basics
Appium basicsSyam Sasi
 
Design Time and Run Time Governance
Design Time and Run Time Governance Design Time and Run Time Governance
Design Time and Run Time Governance WSO2
 
Unit testing JavaScript: Jasmine & karma intro
Unit testing JavaScript: Jasmine & karma introUnit testing JavaScript: Jasmine & karma intro
Unit testing JavaScript: Jasmine & karma introMaurice De Beijer [MVP]
 
Cross browser testing with browser stack
Cross browser testing with browser stackCross browser testing with browser stack
Cross browser testing with browser stackDenys Poloka
 
Tracking and improving software quality with SonarQube
Tracking and improving software quality with SonarQubeTracking and improving software quality with SonarQube
Tracking and improving software quality with SonarQubePatroklos Papapetrou (Pat)
 
Pirâmide de testes mobile, dividindo seus testes de maneira efetiva
Pirâmide de testes mobile, dividindo seus testes de maneira efetivaPirâmide de testes mobile, dividindo seus testes de maneira efetiva
Pirâmide de testes mobile, dividindo seus testes de maneira efetivaFrederico Augusto Do Carmo Moreira
 

What's hot (20)

Sonarqube
SonarqubeSonarqube
Sonarqube
 
Django Framework Overview forNon-Python Developers
Django Framework Overview forNon-Python DevelopersDjango Framework Overview forNon-Python Developers
Django Framework Overview forNon-Python Developers
 
Test Automation Using Selenium
Test Automation Using SeleniumTest Automation Using Selenium
Test Automation Using Selenium
 
SonarQube - Como avaliar seus fornecedores e garantir a qualidade de suas ent...
SonarQube - Como avaliar seus fornecedores e garantir a qualidade de suas ent...SonarQube - Como avaliar seus fornecedores e garantir a qualidade de suas ent...
SonarQube - Como avaliar seus fornecedores e garantir a qualidade de suas ent...
 
Hybrid automation framework
Hybrid automation frameworkHybrid automation framework
Hybrid automation framework
 
SonarQube Presentation.pptx
SonarQube Presentation.pptxSonarQube Presentation.pptx
SonarQube Presentation.pptx
 
A Basic Django Introduction
A Basic Django IntroductionA Basic Django Introduction
A Basic Django Introduction
 
Getting started with appium
Getting started with appiumGetting started with appium
Getting started with appium
 
Mobile Application Testing Training Presentation
Mobile Application Testing Training PresentationMobile Application Testing Training Presentation
Mobile Application Testing Training Presentation
 
Testing methodology
Testing methodologyTesting methodology
Testing methodology
 
Selenium- A Software Testing Tool
Selenium- A Software Testing ToolSelenium- A Software Testing Tool
Selenium- A Software Testing Tool
 
Test Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & ToolsTest Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & Tools
 
Appium basics
Appium basicsAppium basics
Appium basics
 
Design Time and Run Time Governance
Design Time and Run Time Governance Design Time and Run Time Governance
Design Time and Run Time Governance
 
Unit testing JavaScript: Jasmine & karma intro
Unit testing JavaScript: Jasmine & karma introUnit testing JavaScript: Jasmine & karma intro
Unit testing JavaScript: Jasmine & karma intro
 
Cross browser testing with browser stack
Cross browser testing with browser stackCross browser testing with browser stack
Cross browser testing with browser stack
 
Tracking and improving software quality with SonarQube
Tracking and improving software quality with SonarQubeTracking and improving software quality with SonarQube
Tracking and improving software quality with SonarQube
 
Load Runner
Load RunnerLoad Runner
Load Runner
 
Maven Overview
Maven OverviewMaven Overview
Maven Overview
 
Pirâmide de testes mobile, dividindo seus testes de maneira efetiva
Pirâmide de testes mobile, dividindo seus testes de maneira efetivaPirâmide de testes mobile, dividindo seus testes de maneira efetiva
Pirâmide de testes mobile, dividindo seus testes de maneira efetiva
 

Similar to 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
 

Similar to 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 SonarQube
Jenkins com SonarQubeJenkins com SonarQube
Jenkins com SonarQube
 
Jenkins com sonar qube
Jenkins com sonar qubeJenkins com sonar qube
Jenkins com sonar qube
 
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
 

More from 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
 

More from 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