© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
SonarQube: ¿cómo de malo es mi software?
© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Contenido
1. ¿Qué es?
2. Características
3. Instalación
4. Analizar un proyecto
5. Conociendo Sonar
6. Premios
7. Referencias
© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
¿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.
© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
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
© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
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
© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
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.
© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Instalación
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
© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Analizar un proyecto con Maven
• Añadir el siguiente profile al archivo settings.xml o
al pom.xml del proyecto
<profiles>
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
       </activation>
</profile>
</profiles>
• Ejecutar: mvn sonar:sonar
© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Conociendo Sonar: Home
© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Conociendo Sonar: Drill Down
© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Conociendo Sonar: Dashboard
© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Conociendo Sonar: Archivo
© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Conociendo Sonar: Time Machine
© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Conociendo Sonar: Time Machine
© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Conociendo Sonar: Perfiles de
calidad
© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Conociendo Sonar: Puertas de
calidad
© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Conociendo Sonar: Plugins
© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Premios
• Ganador del Jolt Productivity Award en 2009 y 2010
© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Referencias
• Documentación oficial e imágenes usadas en esta
presentación: http://docs.codehaus.org/display/SONAR/
Documentation
• 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
© 2014. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Fin
Gracias por vuestra atención
¿Alguna pregunta?
Tomás Moreno Bernal (tomas.moreno@um.es)Tomás Moreno Bernal (tomas.moreno@um.es)
@tmorenobernal@tmorenobernal

En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto

  • 1.
    © 2014. Áreade las Tecnologías de la Información y las Comunicaciones Aplicadas. SonarQube: ¿cómo de malo es mi software?
  • 2.
    © 2014. Áreade las Tecnologías de la Información y las Comunicaciones Aplicadas. Contenido 1. ¿Qué es? 2. Características 3. Instalación 4. Analizar un proyecto 5. Conociendo Sonar 6. Premios 7. Referencias
  • 3.
    © 2014. Áreade las Tecnologías de la Información y las Comunicaciones Aplicadas. ¿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.
  • 4.
    © 2014. Áreade las Tecnologías de la Información y las Comunicaciones Aplicadas. 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
  • 5.
    © 2014. Áreade las Tecnologías de la Información y las Comunicaciones Aplicadas. 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
  • 6.
    © 2014. Áreade las Tecnologías de la Información y las Comunicaciones Aplicadas. 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.
  • 7.
    © 2014. Áreade las Tecnologías de la Información y las Comunicaciones Aplicadas. Instalación 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
  • 8.
    © 2014. Áreade las Tecnologías de la Información y las Comunicaciones Aplicadas. Analizar un proyecto con Maven • Añadir el siguiente profile al archivo settings.xml o al pom.xml del proyecto <profiles> <profile> <id>sonar</id> <activation> <activeByDefault>true</activeByDefault>        </activation> </profile> </profiles> • Ejecutar: mvn sonar:sonar
  • 9.
    © 2014. Áreade las Tecnologías de la Información y las Comunicaciones Aplicadas. Conociendo Sonar: Home
  • 10.
    © 2014. Áreade las Tecnologías de la Información y las Comunicaciones Aplicadas. Conociendo Sonar: Drill Down
  • 11.
    © 2014. Áreade las Tecnologías de la Información y las Comunicaciones Aplicadas. Conociendo Sonar: Dashboard
  • 12.
    © 2014. Áreade las Tecnologías de la Información y las Comunicaciones Aplicadas. Conociendo Sonar: Archivo
  • 13.
    © 2014. Áreade las Tecnologías de la Información y las Comunicaciones Aplicadas. Conociendo Sonar: Time Machine
  • 14.
    © 2014. Áreade las Tecnologías de la Información y las Comunicaciones Aplicadas. Conociendo Sonar: Time Machine
  • 15.
    © 2014. Áreade las Tecnologías de la Información y las Comunicaciones Aplicadas. Conociendo Sonar: Perfiles de calidad
  • 16.
    © 2014. Áreade las Tecnologías de la Información y las Comunicaciones Aplicadas. Conociendo Sonar: Puertas de calidad
  • 17.
    © 2014. Áreade las Tecnologías de la Información y las Comunicaciones Aplicadas. Conociendo Sonar: Plugins
  • 18.
    © 2014. Áreade las Tecnologías de la Información y las Comunicaciones Aplicadas. Premios • Ganador del Jolt Productivity Award en 2009 y 2010
  • 19.
    © 2014. Áreade las Tecnologías de la Información y las Comunicaciones Aplicadas. Referencias • Documentación oficial e imágenes usadas en esta presentación: http://docs.codehaus.org/display/SONAR/ Documentation • 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
  • 20.
    © 2014. Áreade las Tecnologías de la Información y las Comunicaciones Aplicadas. Fin Gracias por vuestra atención ¿Alguna pregunta? Tomás Moreno Bernal (tomas.moreno@um.es)Tomás Moreno Bernal (tomas.moreno@um.es) @tmorenobernal@tmorenobernal