La integración entre SONAR y Hudson se hace a través de un plugin que se instala en Hudson y con la configuración y ejecución de una tarea en Maven.
Una vez se instalan estos componentes, se ingresan los datos de SONAR inlcluida la base de datos y se configuran los proyectos de Hudson para que envíen sus datos a SONAR al ejecutarlas.
Instalación del Plugin
1. Vaya a la pantalla principal de Hudson y seleccione la opción Administrar Hudson.
2. Seleccione la opción administrar plugins.
3. Seleccione la pestaña Todos los Plugins y busque SONAR Plugin.
4. Seleccione el plugin de SONAR, vaya al final de la página y presione el botón Instalar.
5. Una vez instale el plugin, Hudson le indicará que reinicie el servidor para que los cambios tengan efecto.
6. Reinice el servidor.
Configuración de Hudson
Cuando el plugin ha sido instalado procedemos con la configuración indicándole los datos del servidor de SONAR y de su base de datos.
1. En el menú principal de Hudson seleccione la opción Administrar Hudson.
2. Seleccione Configurar el Sistema.
3. Vaya al final de la página y en la sección Sonar, presione el botón Add Sonar.
4. Presione el botón Avanzado para configurar todas las propiedades de Sonar.
5. Ingrese los datos que requiere el plugin:
- Name: Seleccione el nombre que desee para el servidor. Por ejemplo sonar-1.11.
- URL del Servidor: URL para acceder el servidor por HTTP. Por ejemplo http://localhost:9000.
- URL pública del servidor: No es necesario ingresar nada.
- URL de la base de datos: URL de la base de datos MySQL instalada. Por ejemplo: jdbc:mysql://localhost:3306/sonar.
- Usuario de la base de datos: Usuario de conexión a la base de datos.
- Contraseña de la base de datos: Contraseña del usuario.
- Controlador (Driver) para la base de datos: Driver JDBC de la conexión. Para MySQL ingrese com.mysql.jdbc.Driver.
- Propiedades adicionales: No es necesario.
- Ejecutores: Deje los valores por defecto.
6. Vaya al final de la página y guarde la configuración.
7. Ahora puede configurar las tareas programadas para que se integren con Sonar.
8. Si va acceder la base de datos de una dirección remota será necesario asignar privilegios al usuario y host remoto. Para hacerlo conéctese a la instancia de MySQL y ejecute las sentencias:
GRANT USAGE ON *.* to <usuario>@'<host remoto>' IDENTIFIED BY '<contraseña>';
FLUSH PRIVILEGES;
Por ejemplo:
GRANT USAGE ON *.* to sonar@'czuluaga-laptop' IDENTIFIED BY 'admin';
FLUSH PRIVILEGES;
En la URL http://www.ferdychristant.com/blog//archive/DOMM-6GRGQ7 encuentra detalles del procedimiento.
Cuando el usuario no tiene estos privilegios obtendrá un mensaje como el siguiente:
Access denied for user 'sonar'@'runtas1.heinsohn.com.co' (using password: YES)