SonarQube es una plataforma de código abierto que analiza el código para proporcionar informes sobre problemas como código duplicado, estándares de codificación, cobertura de pruebas, complejidad ciclomática y bugs potenciales. Se integra con herramientas como Maven, Jenkins y JIRA. Ofrece características como el almacenamiento de métricas históricas, gráficos de evolución y vistas comparativas. Admite más de 25 lenguajes de programación a través de plugins.
3. ¿Qué es?
• SonarQube (también conocido como
Sonar) es una plataforma open
source que nos permite gestionar
aquellas cosas que hemos hecho
mal en nuestro software de forma
consciente, o inconsciente, y que a la
larga nos pueden suponer más de un
quebradero de cabeza.
¿Qué es?
4. Características
• Mediante el análisis del código se obtienen
informes sobre:
• Código duplicado
• Estándares de codificación
• Tests
• Cobertura de pruebas
• Complejidad ciclomática
• Bugs potenciales
• Comentarios
• Diseño y arquitectura
Características
5. Características
• Almacena el histórico de métricas
• Ofrece gráficos de evolución (“time machine”) y
vistas comparativas
• Se integra con:
• Maven
• Ant
• Gradle
• Atlassian Bamboo
• Jenkins
• Hudson
• Eclipse
• JIRA
• LDAP
Características
6. Características
• Se puede extender mediante plugins
• Ofrece soporte para más de 25 lenguajes:
• Java
• C/C++
• C#
• PHP
• Flex
• Groovy
• JavaScript
• Python
• PL/SQL
• COBOL
• etc.
• También para desarrollo en Android.
Características
7. Características
1. Descargar de:
http://www.sonarqube.org/downloads/
2. Arrancar el servidor ejecutando:
1. C:sonarqubebinwindows-x86-
xxStartSonar.bat
2. /etc/sonarqube/bin/[OS]/sonar.sh console
3. Acceder a http://localhost:9000
4. El usuario administrador es admin/admin
Instalación
8. Características
• Añadir el siguiente profile al archivo
settings.xml o al pom.xml del proyecto
Analizar un proyecto con Maven
<profiles>
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
</profiles>
• Ejecutar: mvn sonar:sonar
19. Referencias
• Documentación oficial e imágenes usadas en esta
presentación:
http://docs.codehaus.org/display/SONAR/Docum
entation
• Para conocer el significado de las métricas
• http://www.javiergarzas.com/2013/09/metricas
-sonar-1.html
• http://www.javiergarzas.com/2013/09/metricas-sonar-
2.html
• http://www.javiergarzas.com/2013/09/metricas-sonar-
3.html
• Una lista con los 10 mejores plugins:
http://www.javiergarzas.com/2012/04/plugins-
sonar.html
Referencias