Top Ad unit 728 × 90

Sonarqube: ¿Qué tan bueno es mi código?


SonarQube (conocido anteriormente como Sonar) es una plataforma para evaluar código fuente. Es software libre y usa diversas herramientas de análisis estático de código fuente como Checkstyle, PMD o FindBugs para obtener métricas que pueden ayudar a mejorar la calidad del código de un programa.

Para probar su funcionalidad haremos uso de la imagen oficial disponible en el repositorio de Docker. Solo debemos ejecutar:

$ docker run -ti --rm --name sonarqube -p 9000:9000 -p 9092:9092 sonarqube

Esperan un poco a que el servidor levante completamente y podrán visualizar la interfaz web en http://localhost:9000/ 

Se loguean en la aplicación (arriba a la derecha).
Usuario: admin
Password: admin

Para probar el potencial de Sonarqube revisaremos un proyecto en Python, para ellos debemos instalar el plugin de Python en Sonarqube. Esto lo haremos haciendo clic en "Administration" y luego nos dirigimos a la pestaña "System" para seleccionar "Update Center"

Hacemos clic en "Avaible" y en el campo "Search" escribimos Python e instalamos el plugin resultante haciendo clic en "Install".
Una vez instalado, el servidor solicitará ser reiniciado, aceptamos y esperamos a que levante nuevamente.

Luego, debemos instalar el escaner de Sonarqube para que revise nuestro código y envíe la información al servidor. Haremos uso del cliente para la terminal. Lo descargamos desde 

Lo descomprimimos y agregamos los binarios a nuestro PATH.

$ export PATH=$PATH:~/sonar-scanner-2.6.1/bin

Luego, para demostrar su utilidad haré uso del proyecto Zappa, el cual clone desde su repositorio oficial y en el cual guardé dentro de su carpeta raíz este archivo. Dicho archivo le indica a Sonarqube donde se encuentra el código a evaluar, el nombre y la respectiva versión.

Finalmente, ejecutamos en la carpeta raíz del proyecto el siguiente comando:
$  sonar-scanner

Una vez culminado el análisis, veremos que aparece un proyecto en la pagina principal de la interfaz web.


Hacemos clic en el proyecto Zappa y veremos el estatus general del proyecto. Como se puede apreciar, no posee bugs pero si tiene 3 vulnerabilidades. Aunque en general, se encuentra en buen estado.
Si hacemos clic sobre el 3 de las vulnerabilidades, podremos ver cuales son y en que archivos se encuentran.
Igualmente hacemos doble clic sobre cualquiera de las vulnerabilidades y nos mostrará las lineas de código involucradas. Permitiéndonos asignar la resolución de la vulnerabilidad a algún usuario en particular, marcarlo como un falso positivo, etiquetarlo, o realizar algún comentario al respecto, entre otras opciones.

Entre otras cosas, Sonarqube se puede acoplar con sistemas de Integración Continua, dándonos la posibilidad de trabajar sobre un pipeline que garantice un buen código fuente y robustez en su implementación. Además, posee múltiples plugins que permiten extender sus funcionalidades. 

Referencias:

¿Cómo instalo Docker?
https://es.wikipedia.org/wiki/SonarQube
http://www.sonarqube.org/

Sonarqube: ¿Qué tan bueno es mi código? Reviewed by Josemy on 21:46 Rating: 5

No hay comentarios:

All Rights Reserved by Josemy's Blog © 2014 - 2015

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Con la tecnología de Blogger.