Integrando Sonar con Hudson

0
12988

Integrando Sonar con Hudson

0. Índice de
contenidos.

1. Introducción

En este tutorial vamos a ver la forma de integrar dos estupendas herramientas como son Hudson y Sonar. La idea es que al hacer un build de un trabajo en Hudson se actulice automáticamente el proyecto en Sonar. Si esto te ha sonado a chino mandarín te recomiendo que antes te leas estos dos tutoriales:

  • Hudson: https://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=hudsonInstalacionTomcat
  • Sonar: https://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=utilizandoSonar

2. Entorno

El tutorial está
escrito usando el siguiente entorno:

  • Hardware:
    Portátil Asus G50Vseries (Core Duo P8600 2.4GHz, 4GB RAM,
    320 GB HD).
  • Sistema operativo: Ubuntu
    9.04 Desktop
  • Mozilla Firefox 2.0.0.20
  • Sonar 1.11.1
  • Hudson 1.330

3. Comenzamos con la integración.

Una de las ventajas que proporciona Hudson en relación a otras herramientas similares es el uso de plugins que extienden su funcionalidad. Uno de estos plugins permite la integración con Sonar.

Para instalar un plugin en Hudson desde la página principal de la herramienta vamos a “Manage Hudson” → “Manage Plugins” y en la pestaña “Available” buscamos la entrada que se corresponda con el plugin de Sonar.

Lo único que tenemos que hacer es marcar la casilla del plugin correspondiente y pulsamos en el botón “Install” que está al final de la tabla. Al hacer esto Hudson se encarga de la instalación completa del plugin, conectándose a los recursos necesarios. Al final de este proceso tenemos que pulsar en el botón “Restart Now”.

 

 

En el momento en el que este plugin este instalado ya podremos utilizarlo con los “Jobs” de Hudson que consideremos oportunos. Para ello seleccionamos el proyecto (o creamos uno nuevo) y veremos que se ha incorporado una sección nueva en las opciones llamada “Sonar”.

Si hemos instalado Sonar con los parámetros por defecto dejaríamos el valor “Default” del campo “Sonar Installation” y podemos seleccionar cualquiera de los triggers que necesitemos:

  • Poll SCM: se lanza el análisis de Sonar cuando Hudson lanza un evento de cambio en el control de versiones.

  • Build periodically: se lanza el análisis de Sonar cuando Hudson lanza un evento de build periódico del trabajo. Esto se define en las propiedades del trabajo no de Sonar.

  • Build whenever a SNAPSHOT dependency is built: se lanza el análisis de Sonar cuando Hudson lanza un evento de dependencia SNAPSHOT construida.

  • Skip analysis on build failure: si marcamos está opción no se va a lanzar el análisis de Sonar hasta que la construcción del trabajo sea satisfactoria.

En caso de no utilizar los parámetros por defecto en la instancia de Sonar que hayamos instalado tenemos que configurarlo con nuestros parámetros. Para ello, desde la página principal de Hudson vamos a “Manage Hudson” → “Configure System” y en la sección Sonar pulsamos en el botón “Add” para añadir una instalación personalizada de Sonar . Aquí damos un nombre a nuestra instalación, por ejemplo, “sonar” y pulsamos en el botón “Advanced”. Rellenemos el formulario que se muestra con la información de la instalación de Sonar que tengamos y pulsamos en el botón “Save”.

Ahora si volvemos a la configuración del trabajo (Opción “Configure” del trabajo seleccionado) veremos que se ha añadido una nueva entrada al combo de “Sonar Installation” con el nombre sonar.

Ahora al hacer “Build Now” del trabajo si todo compila y se pasan los test satisfactoriamente veremos que en la página principal de Sonar se ha creado una nueva entrada con el análisis del trabajo.

4. Conclusiones

Que gustazo da cuando ves que las herramientas de unos y otros se integran perfectamente para facilitarte el trabajo y todo gracias a que nuestros proyectos están creados con Maven 2 que es el pegamento de todas estas herramientas. Queda habilitada la zona de comentarios para posibles problemas o inquietudes con el fin de todo el mundo pregunte o aporte lo que quiera al respecto.

Saludos.

Dejar respuesta

Please enter your comment!
Please enter your name here