Sonarqube

Durante meses un sitio con miles de visitas al día estuvo trabajando sin caídas en la pagina principal, como medida preventiva implemente monitoreo en las secciones principales, es decir, las de mayor visitas para darme cuenta si alguna de ellas dejaba de responder con el  Código HTTP 200 OK.

Posterior a un cambio hecho en el código iniciaron las caídas de secciones en cascada y finalmente la página de inicio, el momento en que esto sucedía era aleatorio, el único patrón detectado era la caída de secciones y finalmente la página de inicio.

El equipo externo de desarrollo nos responsabilizaba por qué seguramente habíamos hecho algún cambio no autorizado al sistema de cache; algo que tenia mas de un año sin ser modificado.

Algunos desarrolladores no cuentan con un disciplina para documentar, hacer pruebas unitarias, este era el caso de el equipo externo, incluso había detectado código duplicado o no optimizado en el inicio del proyecto y lo peor, habían silenciado los registros, es decir, si algo mal ocurría simplemente era “ocultado” o no registrado, algo que el mismo programador hizo a propósito.

En algún momento trabaje con un equipo ordenado que documentaba y generaba sus pruebas unitarias, al momento de hacer el proceso de integración estas pruebas unitarias validaban en parte que el código no tendría errores, así también la detección de código duplicado entre otros.

Es mi costumbre documentar y tener estadísticas de incidencias, por lo que estuve buscando cómo validar su código y con ello respaldarnos para descartar que era nuestra responsabilidad la caída de secciones y página principal.

En el camino encontré Codacy, una buena opción con muchas características, lamentablemente solicitar una autorización para el incremento del presupuesto tomaría tiempo y nos quedaríamos sin funciones PRO en el corto tiempo, así que opte por Sonarqube.

Con Sonarqube implemente un bash script para escanear el código del proyecto indicado, para mi fortuna Sonarqube cuenta con una versión Docker Comunitaria gratuita la cual puedes tener lista y operando en 5 minutos; esta versión solo te permite escanear la rama master de tu proyecto, si requieres algo mejorado tendrás que optar por la versión de Sonar Cloud y te cobrara en base a las lineas de código que tenga tu proyecto.

Usando mis estadísticas desde que dejaron de presentarse caídas y al momento de su re-aparición busque en el histórico de Sonarqube y encontré las fechas en las que habían hecho los cambios y Sonarqube nos indicaba la mala calidad del código que había detectado en esos cambios, con ello descartaron que había sido un descuido de nuestro lado al modificar un componente fuera de su alcance.

Tags

Comments are closed

Optimized with PageSpeed Ninja