Integración de SonarQube en Eclipse.

3
17722

Integración de SonarQube en Eclipse.

0. Índice de contenidos.


1. Introducción

SonarQube, o sonar, es una herramienta de análisis de código que permite, recopilando información de varias métricas
(líneas de código, complejidad ciclomática, copy/paste detector, cobertura de tests, violaciones de buenas prácticas
– PMD, CheckStyle, FindBugs -,…) disponer de un cuadro de mando con toda la información disponible sobre la salud
de nuestro proyecto en términos de potenciales problemas en un entorno de ejecución y de mantenibilidad, de hecho
ahora el estado del proyecto se mide, como deuda técnica que es, en días que nos llevaría solucionarlos.

Sonar permite además realizar una análisis compartivo de las métricas en el tiempo, lo cual permite disponer de una
línea de tiempo y comparar la salud del proyecto de un sprint a otro, hablando en términos de metodologías ágiles,
iteraciones y
entrega contínua.

Para establecer un nivel de calidad mínimo en nuestros proyectos podemos definir el cumplimiento de, al menos, un
umbral de dichas métricas.

Lo normal es tener una instalación de sonar enganchada con el entorno de integración contínua, con jenkins, de modo tal
que una build nocturna de nuestro código descargada del repositorio se analice, esto es, al menos una vez al día.

Pero… ¿y si quiero analizar mi código antes de que se suba al repositorio?, ¿me monto un sonar en local?.

El plugin de sonar para Eclipse surge para responder a esta necesidad, analizar el código en el propio entorno
de desarrollo basándose en las reglas definidas en el servidor de sonar corporativo. Con ello, cubrimos la necesidad
de anticiparnos a las violaciones antes de subir el código al repositorio y tener que revisarlas a posteriori.

2. Entorno.

El tutorial está escrito y la instalación realizada usando el siguiente entorno:

  • Hardware: Portátil MacBook Pro 15′ (2.3 GHz Intel Core i7, 16GB DDR3).
  • Sistema Operativo: Mac OS Mavericks 10.9.4
  • Eclipse Luna.
  • SonarQube 4.3.2


3. Instalación.

La instalación es tan sencilla como buscar «SonarQube» en el «Eclipse Marketplace» directamente desde la opción de
menú del propio Eclipse.

Realizamos la búsqueda y seleccionamos «install»

Confirmamos los paquetes a instalar

Aceptamos la licencia

Cuando nos pida reiniciar confirmamos.


4. Configuración.

Para llevar a cabo la configuración buscamos sonarQube en las preferencias de Eclipse y asignamos la url de nuestro
servidor de sonar corporativo, junto con las credenciales.

A partir de ese momento al importar un proyecto se importará con la característica de sonar y para poder analizarlo
el proyecto debe existir como tal en nuestro sonar corporativo; para ello debemos asociarlo a un proyecto de sonar pulsando
sobre la siguiente opción.

y buscando el nombre del proyecto con el que asociarlo.

El proyecto aparecerá con el icono de sonar en la parte superior derecha.


5. Análisis.

Para llevar a cabo el análisis del proyecto con las reglas de sonar basta con seleccionar la opción correspondiente
del menú contextual del proyecto

Tras el análisis, en cualquier clase se podrían ver alarmas como las siguientes:

Pulsando sobre la clase en la pestaña «SonarQube Web Browser» se puede acceder a la información en sonar de
la clase seleccionada.

En la pestaña «SonarQube Issues» se pueden ver las violaciones con el nivel de criticidad en sonar
de la clase seleccionada:

Si en vez de seleccionar una clase en concreto seleccionamos todos los proyectos, mostrará la información acumulada.

Pulsando sobre cada violación se puede acceder al detalle de la misma:

Desde el detalle de una violación se pueden realizar las mismas opciones que desde la interfaz web: comentarlas, asignarlas, resolver, marcar como falso positivo, confirmar,… todo en función del perfil del usuario en sonar.


6. Referencias.


7. Conclusiones.

Esto…, que nadie se ponga susceptible que también lo hay para IntelliJ… a disfrutarlo!

Un saludo.

Jose

jmsanchez@autentia.com

3 Comentarios

  1. […] que existe un plugin para trabajar con Sonar. Jose Manuel Sánchez Suarez explica muy bien en este post como instalarlo y […]

  2. […] la introducción del tutorial Integración de SonarQube en Eclipse se exponen las razones de la integración de nuestro entorno de desarrollo con el servidor de sonar […]

Dejar respuesta

Please enter your comment!
Please enter your name here