SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
Análise de qualidade
de código com
Sonarqube
Fernando Boaglio
Quem é Fernando Boaglio ?
Criado em 1490 para escutar
embarcações afundandas
Hoje é usado para driblar os obstáculos
Sonar é usado para driblar os bugs!
O que é o Sonar / Sonarqube ?
Um super agregador de métricas
Destaca problemas no código
Sugere melhorias no código
Suporta mais de 20 linguagens
Centraliza visão de qualidade de código
Integração DevOps
Como subir o servidor do Sonar ?
Instalação tradicional
1 - Download de https://www.sonarqube.org/downloads/
2 – Configura banco de dados
3 – Subir o servidor
4 – Acessar a porta 9000
Instalação Docker
1 – Acessar informações de https://hub.docker.com/_/sonarqube/
2 – Subir com:
$ docker run -d --name sonarqube -p 9000:9000 sonarqube
3 – Acessar a porta 9000
Como usar no projeto ?
Projeto Java
Sonar local:
mvn sonar:sonar
Sonar remoto:
mvn sonar:sonar -Dsonar.host.url=http://sonardev:9000
Outros: Sonar Runner
Exemplo: análise do código do Jenkins
https://github.com/jenkinsci/jenkins
Depois de analisadas algumas tags
Bugs apontados pelo Sonar
Dívida técnica: esforço x linhas de código
Customize regras e perfis...
Análise de qualidade de código com Sonar - Fernando Boaglio

Mais conteúdo relacionado

Mais procurados

Mais procurados (15)

Docker + Django
Docker + DjangoDocker + Django
Docker + Django
 
FISL11 2010 - Automação de Datacenters
FISL11 2010 - Automação de DatacentersFISL11 2010 - Automação de Datacenters
FISL11 2010 - Automação de Datacenters
 
Alta Performance de Aplicações Web em PHP - Nginx
Alta Performance de Aplicações Web em PHP - NginxAlta Performance de Aplicações Web em PHP - Nginx
Alta Performance de Aplicações Web em PHP - Nginx
 
Extraindo métricas em testes de performance
 Extraindo métricas em testes de performance Extraindo métricas em testes de performance
Extraindo métricas em testes de performance
 
Docker em Produção com Kubernetes
Docker em Produção com Kubernetes Docker em Produção com Kubernetes
Docker em Produção com Kubernetes
 
Prova sistemaso redes1-1-red-23032011
Prova sistemaso redes1-1-red-23032011Prova sistemaso redes1-1-red-23032011
Prova sistemaso redes1-1-red-23032011
 
PHP - Aula #01
PHP - Aula #01PHP - Aula #01
PHP - Aula #01
 
Squid
SquidSquid
Squid
 
Raspberry pi - Dicas e truques
Raspberry pi - Dicas e truquesRaspberry pi - Dicas e truques
Raspberry pi - Dicas e truques
 
Oficina II - RASPBX
Oficina II - RASPBXOficina II - RASPBX
Oficina II - RASPBX
 
Deploy Rails
Deploy RailsDeploy Rails
Deploy Rails
 
I educar-manual-de-instalaao
I educar-manual-de-instalaaoI educar-manual-de-instalaao
I educar-manual-de-instalaao
 
Hands on para (web)Developers Docker vs Vagrant
Hands on para (web)Developers Docker vs VagrantHands on para (web)Developers Docker vs Vagrant
Hands on para (web)Developers Docker vs Vagrant
 
Nagios
NagiosNagios
Nagios
 
Heroku
HerokuHeroku
Heroku
 

Destaque

Aumente sua produtividade com Spring Boot
Aumente sua produtividade com Spring BootAumente sua produtividade com Spring Boot
Aumente sua produtividade com Spring BootFernando Boaglio
 
5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB
5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB
5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEBRafael Chinelato Del Nero
 
ZeroBugsProject - Técnicas de programação efetivas
ZeroBugsProject - Técnicas de programação efetivasZeroBugsProject - Técnicas de programação efetivas
ZeroBugsProject - Técnicas de programação efetivasRafael Chinelato Del Nero
 
Continuous inspection with Sonar
Continuous inspection with SonarContinuous inspection with Sonar
Continuous inspection with Sonargaudol
 
Maven for Dummies
Maven for DummiesMaven for Dummies
Maven for DummiesTomer Gabel
 
Maven 3 Overview
Maven 3  OverviewMaven 3  Overview
Maven 3 OverviewMike Ensor
 
An Introduction to Maven
An Introduction to MavenAn Introduction to Maven
An Introduction to MavenVadym Lotar
 

Destaque (16)

Aumente sua produtividade com Spring Boot
Aumente sua produtividade com Spring BootAumente sua produtividade com Spring Boot
Aumente sua produtividade com Spring Boot
 
5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB
5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB
5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB
 
ZeroBugsProject - Técnicas de programação efetivas
ZeroBugsProject - Técnicas de programação efetivasZeroBugsProject - Técnicas de programação efetivas
ZeroBugsProject - Técnicas de programação efetivas
 
Continuous inspection with Sonar
Continuous inspection with SonarContinuous inspection with Sonar
Continuous inspection with Sonar
 
Maven Overview
Maven OverviewMaven Overview
Maven Overview
 
Maven for Dummies
Maven for DummiesMaven for Dummies
Maven for Dummies
 
Maven 3 Overview
Maven 3  OverviewMaven 3  Overview
Maven 3 Overview
 
Sonar Metrics
Sonar MetricsSonar Metrics
Sonar Metrics
 
Maven Introduction
Maven IntroductionMaven Introduction
Maven Introduction
 
Demystifying Maven
Demystifying MavenDemystifying Maven
Demystifying Maven
 
An Introduction to Maven
An Introduction to MavenAn Introduction to Maven
An Introduction to Maven
 
Continuous delivery-with-maven
Continuous delivery-with-mavenContinuous delivery-with-maven
Continuous delivery-with-maven
 
Jenkins with SonarQube
Jenkins with SonarQubeJenkins with SonarQube
Jenkins with SonarQube
 
reveal.js 3.0.0
reveal.js 3.0.0reveal.js 3.0.0
reveal.js 3.0.0
 
Sonar-Hodson-Maven
Sonar-Hodson-MavenSonar-Hodson-Maven
Sonar-Hodson-Maven
 
Apache Maven 3
Apache Maven 3Apache Maven 3
Apache Maven 3
 

Semelhante a Análise de qualidade de código com Sonar - Fernando Boaglio

Introdução, instalação e configuração do SonarQube
Introdução, instalação e configuração do SonarQubeIntrodução, instalação e configuração do SonarQube
Introdução, instalação e configuração do SonarQubeDenis Santos
 
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
 
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
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerBruno Ricardo Siqueira
 
Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginnersRafael Chiavegatto
 
Padrōes, Especificações, Runtimes: construindo containers melhores
Padrōes, Especificações, Runtimes: construindo containers melhoresPadrōes, Especificações, Runtimes: construindo containers melhores
Padrōes, Especificações, Runtimes: construindo containers melhoresCarlos Andre Fernandes
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucaoFernando Ike
 
Containers com docker #CPRecife4
Containers com docker #CPRecife4Containers com docker #CPRecife4
Containers com docker #CPRecife4David Ruiz
 
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...iMasters
 
Controlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e SubversionControlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e Subversionlekitamura
 
Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Wellington Silva
 
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
 
12 factor app. Melhor com Docker
12 factor app. Melhor com Docker12 factor app. Melhor com Docker
12 factor app. Melhor com DockerWellington Silva
 

Semelhante a Análise de qualidade de código com Sonar - Fernando Boaglio (20)

Introdução, instalação e configuração do SonarQube
Introdução, instalação e configuração do SonarQubeIntrodução, instalação e configuração do SonarQube
Introdução, instalação e configuração do SonarQube
 
Debug de cabo a rabo
Debug de cabo a raboDebug de cabo a rabo
Debug de cabo a rabo
 
Jenkins com SonarQube
Jenkins com SonarQubeJenkins com SonarQube
Jenkins com SonarQube
 
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
 
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
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando Docker
 
Treinamento Rancher
Treinamento RancherTreinamento Rancher
Treinamento Rancher
 
Browser Mobile - Opera
Browser Mobile - OperaBrowser Mobile - Opera
Browser Mobile - Opera
 
Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginners
 
Padrōes, Especificações, Runtimes: construindo containers melhores
Padrōes, Especificações, Runtimes: construindo containers melhoresPadrōes, Especificações, Runtimes: construindo containers melhores
Padrōes, Especificações, Runtimes: construindo containers melhores
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucao
 
Containers com docker #CPRecife4
Containers com docker #CPRecife4Containers com docker #CPRecife4
Containers com docker #CPRecife4
 
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
 
Controlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e SubversionControlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e Subversion
 
Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3
 
Iniciando com django
Iniciando com djangoIniciando com django
Iniciando com django
 
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
 
12 factor app. Melhor com Docker
12 factor app. Melhor com Docker12 factor app. Melhor com Docker
12 factor app. Melhor com Docker
 

Mais de Fernando Boaglio

O seu negocio precisa de API Gateway
O seu negocio precisa de API Gateway O seu negocio precisa de API Gateway
O seu negocio precisa de API Gateway Fernando Boaglio
 
Java Meetup SP- pesquisa 2019
Java Meetup SP- pesquisa 2019Java Meetup SP- pesquisa 2019
Java Meetup SP- pesquisa 2019Fernando Boaglio
 
3 dicas para ser um profissional melhor
3 dicas para ser um profissional melhor3 dicas para ser um profissional melhor
3 dicas para ser um profissional melhorFernando Boaglio
 
Jenkins, de onde veio e para onde vai
Jenkins, de onde veio e para onde vai Jenkins, de onde veio e para onde vai
Jenkins, de onde veio e para onde vai Fernando Boaglio
 
Nao perca tempo com bancos de dados relacionais, use mongo db
Nao perca tempo com bancos de dados relacionais,   use mongo dbNao perca tempo com bancos de dados relacionais,   use mongo db
Nao perca tempo com bancos de dados relacionais, use mongo dbFernando Boaglio
 
6 mitos de projetos open source para Java
6 mitos de projetos open source para Java6 mitos de projetos open source para Java
6 mitos de projetos open source para JavaFernando Boaglio
 
MongoDB com Java - GUOB 2018
MongoDB com Java  - GUOB  2018MongoDB com Java  - GUOB  2018
MongoDB com Java - GUOB 2018Fernando Boaglio
 
5 motivos para usar JNoSQL - Fernando Boaglio - TDC2018
5 motivos para usar JNoSQL - Fernando Boaglio - TDC20185 motivos para usar JNoSQL - Fernando Boaglio - TDC2018
5 motivos para usar JNoSQL - Fernando Boaglio - TDC2018Fernando Boaglio
 
Jenkins por dentro e por fora - Oracle Code São Paulo 2018
Jenkins por dentro e por fora - Oracle Code São Paulo 2018Jenkins por dentro e por fora - Oracle Code São Paulo 2018
Jenkins por dentro e por fora - Oracle Code São Paulo 2018Fernando Boaglio
 
Katalon,o Selenium fácil
Katalon,o Selenium fácil Katalon,o Selenium fácil
Katalon,o Selenium fácil Fernando Boaglio
 
SAP Hybris e SAP HANA - o que dá para usar?
 SAP Hybris e SAP HANA - o que dá para usar?  SAP Hybris e SAP HANA - o que dá para usar?
SAP Hybris e SAP HANA - o que dá para usar? Fernando Boaglio
 
Jenkins por dentro e por fora
Jenkins por dentro e por fora Jenkins por dentro e por fora
Jenkins por dentro e por fora Fernando Boaglio
 
MongoDB com Java - SouJava
MongoDB com Java - SouJavaMongoDB com Java - SouJava
MongoDB com Java - SouJavaFernando Boaglio
 

Mais de Fernando Boaglio (20)

Rinha de Back-end 2023
Rinha de Back-end 2023Rinha de Back-end 2023
Rinha de Back-end 2023
 
Java Meetup SP
Java Meetup SP Java Meetup SP
Java Meetup SP
 
Testando jwebserver
Testando jwebserver Testando jwebserver
Testando jwebserver
 
Novidades Spring 2021
Novidades Spring 2021Novidades Spring 2021
Novidades Spring 2021
 
O seu negocio precisa de API Gateway
O seu negocio precisa de API Gateway O seu negocio precisa de API Gateway
O seu negocio precisa de API Gateway
 
Retrospectiva Java 2019
Retrospectiva Java 2019Retrospectiva Java 2019
Retrospectiva Java 2019
 
Java Meetup SP- pesquisa 2019
Java Meetup SP- pesquisa 2019Java Meetup SP- pesquisa 2019
Java Meetup SP- pesquisa 2019
 
3 dicas para ser um profissional melhor
3 dicas para ser um profissional melhor3 dicas para ser um profissional melhor
3 dicas para ser um profissional melhor
 
Jenkins, de onde veio e para onde vai
Jenkins, de onde veio e para onde vai Jenkins, de onde veio e para onde vai
Jenkins, de onde veio e para onde vai
 
Java Meetup SP intro
Java Meetup SP  introJava Meetup SP  intro
Java Meetup SP intro
 
Nao perca tempo com bancos de dados relacionais, use mongo db
Nao perca tempo com bancos de dados relacionais,   use mongo dbNao perca tempo com bancos de dados relacionais,   use mongo db
Nao perca tempo com bancos de dados relacionais, use mongo db
 
6 mitos de projetos open source para Java
6 mitos de projetos open source para Java6 mitos de projetos open source para Java
6 mitos de projetos open source para Java
 
Java Meetup SP intro
Java Meetup SP introJava Meetup SP intro
Java Meetup SP intro
 
MongoDB com Java - GUOB 2018
MongoDB com Java  - GUOB  2018MongoDB com Java  - GUOB  2018
MongoDB com Java - GUOB 2018
 
5 motivos para usar JNoSQL - Fernando Boaglio - TDC2018
5 motivos para usar JNoSQL - Fernando Boaglio - TDC20185 motivos para usar JNoSQL - Fernando Boaglio - TDC2018
5 motivos para usar JNoSQL - Fernando Boaglio - TDC2018
 
Jenkins por dentro e por fora - Oracle Code São Paulo 2018
Jenkins por dentro e por fora - Oracle Code São Paulo 2018Jenkins por dentro e por fora - Oracle Code São Paulo 2018
Jenkins por dentro e por fora - Oracle Code São Paulo 2018
 
Katalon,o Selenium fácil
Katalon,o Selenium fácil Katalon,o Selenium fácil
Katalon,o Selenium fácil
 
SAP Hybris e SAP HANA - o que dá para usar?
 SAP Hybris e SAP HANA - o que dá para usar?  SAP Hybris e SAP HANA - o que dá para usar?
SAP Hybris e SAP HANA - o que dá para usar?
 
Jenkins por dentro e por fora
Jenkins por dentro e por fora Jenkins por dentro e por fora
Jenkins por dentro e por fora
 
MongoDB com Java - SouJava
MongoDB com Java - SouJavaMongoDB com Java - SouJava
MongoDB com Java - SouJava
 

Análise de qualidade de código com Sonar - Fernando Boaglio